Software development projects are an essential component of software engineering courses. They provide the opportunity for students to apply theoretical material and to gain valuable experience in an environment typical of the workplace. These bene ts, however, are di cult to realise. We discuss strategies for managing nal-year software engineering projects in order to optimise the balance between pedagogy, course administration, and time constraints. In particular, we advocate an \immersion" model for software engineering projects. The immersion model emphasises the commercial realities of software development including activities such as reverse-engineering of existing systems, extensive code re-use, team work, user-interface development, meetings with management, and oral presentations. Our experiences with the immersion model have been extremely encouraging with signi cant improvements in the quality of student projects.
[1]
Clayton Lewis,et al.
Designing for usability—key principles and what designers think
,
1983,
CHI '83.
[2]
Clayton Lewis,et al.
Making usable, useful, productivity-enhancing computer applications
,
1991,
CACM.
[3]
John K. Ousterhout,et al.
Tcl and the Tk Toolkit
,
1994
.
[4]
Harold W. Thimbleby,et al.
User interface design
,
1990,
ACM Press Frontier Series.
[5]
K.R. Pierce.
Rethinking academia's conventional wisdom (software quality)
,
1993,
IEEE Software.
[6]
Marc Rettig,et al.
Prototyping for tiny fingers
,
1994,
CACM.
[7]
W. Buxton.
Human-Computer Interaction
,
1988,
Springer Berlin Heidelberg.