JOURNAL ARTICLE

Teaching an Advanced Design, Team-Oriented Software Project Course

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 Curriculum Software engineering Documentation Engineering management Process (computing) Experiential learning Reusability Software Engineering Mathematics education Pedagogy

Metrics

16
Cited By
2.43
FWCI (Field Weighted Citation Impact)
7
Refs
0.91
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Software Engineering Techniques and Practices
Physical Sciences →  Computer Science →  Information Systems
Software Engineering Research
Physical Sciences →  Computer Science →  Information Systems
Open Source Software Innovations
Physical Sciences →  Computer Science →  Computer Science Applications
© 2026 ScienceGate Book Chapters — All rights reserved.