Title :
Teaching an Advanced Design, Team-Oriented Software Project Course
Author :
Jarzabek, S. ; Pin-Kwang Eng
Author_Institution :
Dept. of Comput. Sci., Nat. Univ. of Singapore
Abstract :
Students learn about design principles and "best practices" in many courses. However, small scale assignments do not give enough opportunity for students to appreciate the value of software design principles or even to learn how to apply principles in practice. To fill the gap between theoretical and experiential knowledge, we introduced a team-based project course focused on design and implementation phases of the software development lifecycle. We teach design principles and team work in problem-based way, through architectural concepts and iterative development process. The product students build must meet stated quality requirements in terms of reliability, reusability and documentation. We trust this kind of the course is essential in curricula as it allows students better absorb knowledge learned in other software engineering courses. Such course also plays a role in better preparing students for industrial work. We describe a teaching method, course infrastructure and lessons learned over three years of teaching of our course. Based on experiences, we postulate and motivate the need for teaching at least two project courses in undergraduate curricula, one dealing with design and process issues, and the other focused on unstable requirements
Keywords :
computer science education; educational courses; software architecture; software management; software quality; software reliability; software reusability; student experiments; system documentation; team working; architectural concepts; course infrastructure; educational courses; iterative development process; quality requirements; software design; software development lifecycle; software documentation; software engineering courses; software reliability; software reusability; student assignments; students learning; teaching method; team work; team-oriented software project course; undergraduate curricula; Best practices; Communication industry; Computer industry; Computer science; Documentation; Education; Process design; Programming; Software design; Software engineering;
Conference_Titel :
Software Engineering Education & Training, 18th Conference on
Conference_Location :
Ottawa, Ont.
Print_ISBN :
0-7695-2324-2
DOI :
10.1109/CSEET.2005.34