June 15, 1997
June 15, 1997
June 18, 1997
2.184.1 - 2.184.6
Evolving an Undergraduate Software Engineering Course Mark J. Sebern Milwaukee School of Engineering
Many undergraduate software engineering courses combine team projects with discussion of development cycle concepts. It can be difficult to connect these elements in a coherent way, especially when the lecture is a broad survey and the project is sharply focused on meeting the needs of a client.
This paper describes the evolution of a senior software engineering project course that incorporates iterative development of a classroom example and an object-oriented process based on commercial software tools. Although the course time frame (an academic quarter) is too short for significant iteration on the team project, students can participate in an accelerated version of the process by making a small increment to the in-class example. This approach retains the benefits of a realistic, client-centered team development project, while providing experience in a contemporary software development process based on commercial CASE tools.
For a number of years, the computer engineering curriculum at the Milwaukee School of Engineering (MSOE) has incorporated a senior course in software engineering (CS-489). Traditionally, this course has combined project work done in large teams for “real” clients (typically MSOE departments) with lecture material covering the software engineering process.
The Good News
The CS-489 software engineering course has been well received by students, and has produced a number of valuable software products. Some recent projects include:
• A program that identifies unoccupied workstations in computer labs across the MSOE campus. • A three-dimensional visualization program for time- and frequency-domain data from an artificial heart. • A Web-based system for exploring possible student class schedules. In some cases, the quality of the software product has been remarkable, especially since we operate on the quarter system and have only ten weeks for each project.
In working on the projects, students also learn much about team building and cooperative effort, and often apply these lessons in the two-quarter “capstone” senior design sequence (CS-400 and CS-401). Even when a team fails, valuable lessons can be learned. One student, reflecting on such an experience during a job interview, was told by the recruiter that his company “normally expects a new hire to take two years to learn that.”
Sebern, M. J. (1997, June), Evolving An Undergraduate Software Engineering Course Paper presented at 1997 Annual Conference, Milwaukee, Wisconsin. https://peer.asee.org/6555
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 1997 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015