Although the importance of providing realistic educational experiences involving the design of software systems has been recognized in many undergraduate curricula, it is difficult to consistently do so. With the constraints of an existing curricula and a small amount of class time a course has been developed that provides a rich experience in software design, including the critical aspects of group work and programming and documentation style. The course, its goals, and main features are described and analyzed. Experience with the course is reported and the problem of evaluating such a course is discussed.
Read full abstract