An empirical study on students’ ability to comprehend design patterns Alexander Chatzigeorgiou a, * , Nikolaos Tsantalis a , Ignatios Deligiannis b a Department of Applied Informatics, University of Macedonia, 156 Egnatia Street, 54006 Thessaloniki, Greece b Department of Informatics, Technological Education Institute of Thessaloniki, 54006 Thessaloniki, Greece Received 29 June 2007; received in revised form 28 September 2007; accepted 7 October 2007 Abstract Design patterns have become a widely acknowledged software engineering practice and therefore have been incorpo- rated in the curricula of most computer science departments. This paper presents an observational study on students’ abil- ity to understand and apply design patterns. Within the context of a postgraduate software engineering course, students had to deliver two versions of a software system; one without and one with design patterns. The former served as a poorly designed system suffering from architectural problems, while the latter served as an improved system where design prob- lems had been solved by appropriate patterns. The experiment allowed the quantitative evaluation of students’ preference to patterns. Moreover, it was possible to assess students’ ability in relating design problems with patterns and interpreting the impact of patterns on software metrics. The overall goal was to empirically identify ways in which a course on design patterns could be improved. Ó 2007 Elsevier Ltd. All rights reserved. Keywords: Design patterns; Software engineering course; Empirical study; Teaching methodology; Software metrics; Student assignments 1. Introduction Design patterns, generally defined as common solutions to common design problems, have been incorpo- rated in the curricula of most computer science and software engineering departments around the world (IEEE Computer Society – ACM, 2001,2004). In such courses students are expected to learn the positive effect of patterns on design quality and become familiar with a variety of design patterns usually found in classic text- books such as the widely known catalogue by Gamma, Helm, Johnson, and Vlissides (1995). However, there is no general consensus on how to approach the teaching of design patterns given that it is a relatively new field and limited empirical evidence concerning students’ perception of patterns is available. The related literature can be divided into two main categories. The first category contains works that pro- pose courses, assignments and pedagogical frameworks for supporting the teaching/employment of design 0360-1315/$ - see front matter Ó 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.compedu.2007.10.003 * Corresponding author. Tel.: +30 2310 891886; fax: +30 2310 891791. E-mail addresses: achat@uom.gr (A. Chatzigeorgiou), nikos@java.uom.gr (N. Tsantalis), ignatios@it.teithe.gr (I. Deligiannis). Available online at www.sciencedirect.com Computers & Education 51 (2008) 1007–1016 www.elsevier.com/locate/compedu