A Structured Approach for Managing a Practical Software Engineering Course
The challenges of teaching software engineering include achieving functioning teams, enforcing individual accountability, ensuring progress of the students, and evaluating quality of the product. The two-semester, software engineering course at the University of Texas at El Paso incorporates a cooperative group method and an improvement process model that enables learning from past results. The course centers on a cross-disciplinary, large-scale project that provides students with an opportunity to deal with the challenges of developing a real-world product. The experience of working with incomplete, ambiguous and changing requirements motivates the need for applying software engineering techniques and approaches to the project. In the first semester, students perform analysis and define requirements specifications for the proposed system. The second semester course covers design, implementation, and testing. This paper details the structure of the course. Specifically, it outlines how cooperative teams are structured, how students learn the importance of process refinement and improvement, and how the project is presented and managed while achieving individual accountability.