A Collaborative Approach to Teaching Software Architecture

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

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

23 Citations (Scopus)
669 Downloads (Pure)


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.
Original languageEnglish
Title of host publicationProceedings - 48th ACM Technical Symposium on Computer Science Education, SIGCSE 2017
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery (ACM)
Number of pages6
ISBN (Electronic)978-1-4503-4698-6
Publication statusPublished - 2017
EventSIGCSE 2017: 48th ACM Technical Symposium on Computer Science Education - Seattle, WA, United States
Duration: 8 Mar 201711 Mar 2017


ConferenceSIGCSE 2017
Abbreviated titleSIGCSE 2017
Country/TerritoryUnited States
CitySeattle, WA


Dive into the research topics of 'A Collaborative Approach to Teaching Software Architecture'. Together they form a unique fingerprint.

Cite this