A client/server case study for software engineering students

A goal of the Studio course in the Master of Software Engineering program at Carnegie Mellon University is to bridge the gap between experience and academics. One way to transfer experience to young software engineers is through case studies designed to focus students on specific software engineering problems. This paper discusses my experience with developing a case study to improve students' analytical capabilities and introduce the importance of considering maintenance and implementation issues in software design. The case study, developed as a classroom assignment, proved an effective tool to teach software engineering students that there are more things to consider than performance specifications.