a collaborative approach to teach software architecture - sigcse 2017

41
A Collaborative Approach to Teach Software Architecture Arie van Deursen, Maurício Aniche, Joop Aué, Rogier Slag, Michael de Jong, Alex Nederlof, Eric Bouwers

Upload: mauricio-aniche

Post on 19-Mar-2017

170 views

Category:

Education


0 download

TRANSCRIPT

Page 1: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

A Collaborative Approachto Teach Software Architecture

Arie van Deursen, Maurício Aniche, Joop Aué, Rogier Slag, Michael de Jong, Alex Nederlof, Eric Bouwers

Page 2: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Page 3: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Teaching software architecture is challenging!

Very abstract topic

Only visible at scale

Combination of technical and social skills

Page 4: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

We wanna change that!

Page 5: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

We *changed* that!

Page 6: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Embrace open source

Page 7: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Embrace collaboration

Page 8: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Embrace open learning

Page 9: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Interact with (real) architects

Page 10: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Everything starts with a group + an open source

system!

Page 11: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Ruby on Rails

D3.js Guava

GitLab

Neo4J

Joomla

Tensorflow

WildflyAtom

Play!Vagrant

Page 12: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Page 13: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Various software architecture topics (which they then have to apply in their systems)

Page 14: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

GitHub for the win!

Page 15: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Page 16: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Page 17: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Slack!

Page 18: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Page 19: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Contribute and interact with your open source system

Page 21: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Assignments

Page 22: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

DESOSA 2016

Page 23: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Puppet DeploymentView

23

Page 24: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Neo4J Development View

24

Page 25: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

25delftswa.io

Page 26: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

26

Page 27: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Pitches and Presentations

Page 28: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Feedback loop

Page 29: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Individual and Group Grading

Page 30: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Delft Students on Software Architecture (2015)

Page 31: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Delft Students on Software Architecture (2015)

Page 32: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Delft Students on Software Architecture (2015)

Page 33: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Delft Students on Software Architecture (2015)

Page 34: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Delft Students on Software Architecture (2016)

Page 35: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

They love it!

Page 36: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Collaboration“Everyone has something to teach, I was very happy to listen to the constructive criticism of my team mates.”

Page 37: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Open learning“I liked reviewing them, as it gave me the opportunity to see what other groups were doing, and giving me the opportunity to help them out.”

“It’s a must have experience and you learn a lot and it brings responsibility as your work is open and public.”

Page 38: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Interact with architects40% of students believe that contributing to the project helped them to get in touch with architects.

Page 39: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

This year: AMA with architects

Page 40: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

Improvements yet to be done• Not easy to apply all the concepts to the systems• Grading is challenging• Mix with industry systems

Page 41: A Collaborative Approach to Teach Software Architecture - SIGCSE 2017

A Collaborative Approachto Teach Software Architecture

Arie van Deursen, Maurício Aniche, Joop Aué, Rogier Slag, Michael de Jong, Alex Nederlof, Eric Bouwers