What Makes Teaching Software Architecture Difficult?

The software architecture is usually the first design artifact that addresses quality issues (e.g., performance, security). Also, the architecture is reference point for other development activities, e.g., coding and maintenance. Based on our experience teaching software engineering and architecture at different institutions and levels, we discuss what makes teaching software architecture difficult, and how teaching architecture differs from teaching other software engineering topics. Our discussions can help educators design and improve software architecture curricula, and support education researchers in investigating pedagogical approaches and tools for better software architecture training.

[1]  H. van Vilet Reflections on software engineering education , 2006 .

[2]  Remco C. de Boer,et al.  A Community of Learners Approach to Software Architecture Education , 2009, 2009 22nd Conference on Software Engineering Education and Training.

[3]  D. Krathwohl A Revision of Bloom's Taxonomy: An Overview , 2002 .

[4]  M. Sinclair,et al.  Project-based learning. , 1998, NT learning curve.

[5]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[6]  H. van Vilet Reflections on software engineering education , 2006, IEEE Software.

[7]  Patricia Lago,et al.  Teaching a Course on Software Architecture , 2005, 18th Conference on Software Engineering Education & Training (CSEET'05).

[8]  Philippe Kruchten Lifelong Learning for Lifelong Employment , 2015, IEEE Softw..

[9]  Arvind W. Kiwelekar,et al.  Learning Objectives for a Course on Software Architecture , 2015, ECSA.

[10]  Samuil Angelov,et al.  An Approach to Software Architecting in Agile Software Development Projects in Education , 2015, ECSA.

[11]  Orit Hazzan,et al.  The reflective practitioner perspective in software engineering education , 2002, J. Syst. Softw..

[12]  Tomi Männistö,et al.  Teaching Software Architecture Design , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[13]  Juan Llorens Morillo,et al.  The Challenge of Training New Architects: an Ontological and Reinforcement-Learning Methodology , 2007, J. Softw..

[14]  Linda M. Northrop Let's Teach Architecting High Quality Software , 2006, CSEE&T.

[15]  Jordan B. Peterson The Meaning of Meaning , 2007 .

[16]  Chandan Raj Rupakheti,et al.  Teaching Software Architecture to Undergraduate Students: An Experience Report , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[17]  References , 1971 .