An undergraduate course in software maintenance and enhancement

This paper presents the experience a small college computer science program has had with a course on software maintenance and enhancement. Given the current high demand for maintenance, an even greater demand is seen in the future. The first part is a general description of how the course was given, as well as the lecture topics chosen. A pathological application system is then described that provided many of the exercises and assignments in the course. Considerable detail on the assignments and the course project are given, as well. A list of needed extensions follows. Some general conclusions, including student suggestions for more program reading and writing earlier in the curriculum, are at the end.