The University of Sussex

Preparing students for software engineering

Steve M. Easterbrook, Theodoros N. Arvanitis

This position paper describes our work with a new course at Sussex University, designed to bridge the gap between computer science and software engineering. We argue that the way in which software engineering is introduced in most computer science degrees makes it hard for students to internalise the lessons of good engineering practice. In particular, programming is seen to be divorced from software engineering. We describe a new course taught to first year undergraduates, once they have learned to program. The course exposes students to the difficulties of large scale software development, including integrating and modifying other people's code. The course uses a trading game in which student buy and sell software modules, making their own evaluations of cost and quality. An important innovation is to force the students to be explicit about lessons learned, as an introduction to process improvement. Early results are promising: the first cohort of students are significantly more motivated in their subsequent software engineering course.

Download compressed postscript file