A Community of Learners Approach to Software Architecture Education

The wicked nature of software architecture calls for educational methodologies that deviate from the traditional active lecturer-passive student relation.  In this paper we present our experiences with applying a Community of Learners approach, in which students are treated as partners in the knowledge development process, to software architecture education.  In our course the students are actively involved, either as architects or as stakeholders, in the design of an architecture for a large and realistic system.  In this Community of Learners, the students not only learn about but also experience the important issues in software architecture. Students indicate that, although the workload is high, the required effort is outweighed by the learning effect of their active involvement.

[1]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[2]  Mary Shaw Toward Higher-Level Abstractions for Software Systems , 1990, Data Knowl. Eng..

[3]  Gerrit Muller Experiences of Teaching Systems Architecting , 2005 .

[4]  Gerrit Muller 10.5 Experiences of Teaching Systems Architecting , 2004 .

[5]  Maria Letizia Jaccheri Tales from a Software Architecture Course Project , 2002 .

[6]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[7]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[8]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[9]  D. Wood,et al.  Problem based learning , 2008, BMJ : British Medical Journal.

[10]  Ann L. Brown,et al.  Guided discovery in a community of learners. , 1994 .

[11]  Ann L. Brown,et al.  Psychological theory and the design of innovative learning environments: On procedures, principles, and systems. , 1996 .

[12]  K. Engle Problem-Based Learning: An Approach to Medical Education , 1981 .

[13]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[14]  Martin L. Griss,et al.  A story-centered, learn-by-doing approach to software engineering education , 2008, SIGCSE '08.

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

[16]  M. Shaw,et al.  Deciding what to design: closing a gap in software engineering education , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  H. Rittel,et al.  Dilemmas in a general theory of planning , 1973 .

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

[19]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[20]  Martin Fowler Design - Who needs an architect? , 2003, IEEE Software.