Learning Software Engineering by Doing: Progress Report on a Capstone Sequence Involving Student Managed Teams

Clark Savage Turner, Gene L. Fisher, Daniel J. Stearns · 2004

Cal Poly recently instituted a software engineering major, which includes a yearlong capstone project course. The main goals include: ∞ emphasis on a team approach to software development ∞ focus on software process ∞ use of a real-world project ∞ the opportunity for seniors to develop technical leadership skills In order to meet these goals, the sophomore-level software engineering courses are aligned with senior-level courses. The lectures run independently with appropriate focus, but the labs are coordinated so that the seniors provide technical leadership, mentoring and responsibility for deliverables for the teams of sophomores. In the first two years, industrial partners sponsored the project. The fall quarter began with a senior-level course in requirements engineering: the seniors developed the requirements specification document with the industrial partners. During the following two quarters the sophomore teams would design, construct, and deploy a product to those specifications under the management of the seniors. Difficulties in course implementation for the first two years led to analysis of student, faculty and industrial partner feedback. Due to extreme coordination difficulties, a university project replaced the external project and industrial partner. Further, the sophomores were unprepared to participate in software construction without domain knowledge, so the courses were realigned so that the sophomores would be involved in the requirements engineering and construction (but not deployment). This paper provides a progress report for the third year (2003-2004) of Cal Poly’s Capstone Sequence and preliminary analysis of changes and effects.

Read the paper · More papers on PaperTik