Title: Teaching software engineering to undergraduate computing students

Authors: Zaigham Mahmood

Addresses: School of Computing and Mathematics, University of Derby, Kedleston Road, Derby, DE22 1GB, UK

Abstract: University programmes in software engineering (SE) aim to produce graduates who have knowledge of the latest technologies and appropriate expertise to develop complex software. Although SE courses are often well designed, those completing such programmes do not necessarily possess the required skills. There are several reasons mainly due to issues relating to the design of SE programmes as well as those concerning the delivery of course material. In the present work, we discuss matters relating to the second type, in particular: teaching of software development, choice of programming paradigms, criteria for choosing a first language, design approaches and group working. In this context, the paper highlights the weaknesses of the traditional methods of teaching and outlines an Objects-First approach for teaching a first course in SE. It is suggested that, during later stages of the programme of study, students specify, design and implement software systems working in teams of at least ten. Otherwise, students will be unable to fully appreciate the difficulties associated with SE.

Keywords: software engineering; programming; software development; computer languages; teaching; undergraduates; computing students; higher education; computing education; group working; software design; teamwork; UK; United Kingdom; Pakistan.

DOI: 10.1504/IJTCS.2011.039551

International Journal of Teaching and Case Studies, 2011 Vol.3 No.2/3/4, pp.112 - 122

Published online: 28 Feb 2015 *

Full-text access for editors Access for subscribers Purchase this article Comment on this article