Exploiting Multiplicity to Teach Reliability and Maintainability in a Capstone Project

Many, if not most, Computer Science programs contain some form of capstone, or senior, project as a key requirement in receiving a bachelor's degree in Computer Science or Software Engineering. One decision that needs to be made is if all the students should be developing versions of the same project or if each project should be different. In this paper we describe how having multiple teams working on the same project can enrich the capstone experience by supporting reflection on the impact the quality of their code and documentation has on the reliability and maintainability of the final product.

[1]  Margaret R. Heil,et al.  What Clients Want - What Students Do: Reflections on Ten Years of Sponsored Senior Design Projects , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[2]  Hanan Lutfiyya,et al.  Experiences with a software maintenance project course , 2000, IEEE Trans. Educ..

[3]  Lucas Layman Changing Students’ Perceptions: An Analysis of the Supplementary Benefits of Collaborative Software Development , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[4]  David S. Janzen,et al.  On the Influence of Test-Driven Development on Software Design , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[5]  John Slimick,et al.  An undergraduate course in software maintenance and enhancement , 1997, Proceedings Tenth Conference on Software Engineering Education and Training.

[6]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[7]  Alison Young,et al.  Innovation in software engineering education , 2002, ITiCSE '02.

[8]  Dennis J. Frailey Bringing Realistic Software Engineering Assignments to the Software Engineering Classroom , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[9]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[10]  Keith R. Pierce Teaching software engineering principles using maintenance-based projects , 1997, Proceedings Tenth Conference on Software Engineering Education and Training.