A Collaborative Approach to Teaching Software Architecture

Conference Paper (2017)
Author(s)

A Deursen (TU Delft - Software Technology)

Maurício Aniche (TU Delft - Software Engineering)

Joop Aué (Student TU Delft)

R.G.J. Slag (Student TU Delft)

Michael de Jong (Student TU Delft)

A. Nederlof (Student TU Delft)

E.M. Bouwers (Student TU Delft)

Research Group
Software Engineering
Copyright
© 2017 A. van Deursen, Maurício Aniche, Joop Aué, R.G.J. Slag, M. de Jong, A. Nederlof, E.M. Bouwers
DOI related publication
https://doi.org/10.1145/3017680.3017737
More Info
expand_more
Publication Year
2017
Language
English
Copyright
© 2017 A. van Deursen, Maurício Aniche, Joop Aué, R.G.J. Slag, M. de Jong, A. Nederlof, E.M. Bouwers
Research Group
Software Engineering
Pages (from-to)
591-596
ISBN (electronic)
978-1-4503-4698-6
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Teaching software architecture is hard. The topic is abstract and is best understood by experiencing it, which requires proper scale to fully grasp its complexity. Furthermore, students need to practice both technical and social skills to become good software architects. To overcome these teaching challenges, we developed the Collaborative Software Architecture Course. In this course, participants work together to study and document a large, open source software system of their own choice. In the process, all communication is transparent in order to foster an open learning environment, and the end-result is published as an online book to benefit the larger open source community.
We have taught this course during the past four years to classes of 50-100 students each. Our experience suggests that: (1) open source systems can be successfully used to let students gain experience with key software architecture concepts, (2) students are capable of making code contributions to the open source projects, (3) integrators (architects) from open source systems are willing to interact with students about their contributions, (4) working together on a joint book helps teams to look beyond their own work, and study the architectural descriptions produced by the other teams.

Files

Sigcse17.pdf
(pdf | 0.204 Mb)
License info not available
TUD_SERG_2016_022.pdf
(pdf | 0.569 Mb)
License info not available