Computing Reviews

Teaching software architecture to undergraduate students:an experience report
Rupakheti C., Chenoweth S.  ICSE 2015 (Proceedings of the 37th International Conference on Software Engineering, Florence, Italy, May 16-24, 2015)445-454,2015.Type:Proceedings
Date Reviewed: 07/18/16

Teaching a software architecture course is not easy. The job of a software architect is multifaceted. The art and craft of software architecture is best studied using real rather than toy systems. An account is given of how instructors at the Rose-Hulman Institute of Technology addressed these issues across a ten-year period. They identify three phases of evolution in their software architecture course: inception, stable, and experimental. An outline is provided of how their teaching of soft skills, architectural patterns, and quality attributes evolved across these phases. The changes to assessment practices are also described.

In keeping with educational trends, laboratory-based and project-based learning took on a bigger role over the ten-year period. Interestingly, as supporting courses evolved, it became less useful for the software architecture students to work on their previously developed code. So in the experimental phase, the instructors used modern-day software frameworks and web services in their teaching. For example, among the technologies used were the GlassFish Server, the pluggable frameworks of Eclipse and Firefox, RabbitMQ, SOAP, and RESTful application programming interfaces (APIs).

As shown in figure 4, the experimental phase scored best on student survey questions about learning overall, the course overall, and the reinforcement provided by laboratory work. Three reproduced student comments leave the reader in no doubt that the course in the experimental phase was fulfilling its function well.

Many insights are provided. A minor criticism is the lack of references for the named technologies. This paper is strongly recommended to software engineering instructors.

Reviewer:  Andy Brooks Review #: CR144597 (1610-0769)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy