An Analysis of Introductory University Programming Courses in the UK

This paper reports the results of the first survey of introductory programming courses (N = 80) taught at UK universities as part of their first year computer science (or similar) degree programmes, conducted in the first half of 2016. Results of this survey are compared with a related survey conducted since 2010 (as well as earlier surveys from 2001 and 2003) in Australia and New Zealand. We report on student numbers, programming paradigm, programming languages and environment/tools used, as well as the reasons for choice of such. The results in this first UK survey indicate a dominance of Java at a time when universities are still generally teaching students who are new to programming (and computer science), despite the fact that Python is perceived to be both easier to teach as well as to learn. Furthermore, this survey provides a starting point for valuable pedagogic baseline data in the context of substantial computer science curriculum reform in UK schools, as well as increasingly scrutiny of teaching excellence and graduate employability for UK universities.

[1]  Zoran Budimac,et al.  Does the choice of the first programming language influence students' grades? , 2015, CompSysTech '15.

[2]  Graham Cooper,et al.  Introductory programming courses in Australia and New Zealand in 2013 - trends and reasons , 2014, ACE.

[3]  Nell B. Dale,et al.  Most difficult topics in CS1: results of an online survey of educators , 2006, SGCS.

[4]  James H. Davenport,et al.  Innovative Pedagogical Practices in the Craft of Computing , 2016, 2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE).

[5]  Diwaker Gupta,et al.  What is a good first programming language? , 2004, CROS.

[6]  Ronan G. Reilly,et al.  Predicting introductory programming performance: A multi-institutional multivariate study , 2006, Comput. Sci. Educ..

[7]  Graham Cooper,et al.  Trends in introductory programming courses in Australian universities: languages, environments and pedagogy , 2012, ACE 2012.

[8]  Simon L. Peyton Jones,et al.  Bringing computer science back into schools: lessons from the UK , 2013, SIGCSE '13.

[9]  Margaret Hamilton,et al.  Predictors of success in a first programming course , 2006 .

[10]  NEIL C. C. BROWN,et al.  Restart: The Resurgence of Computer Science in UK Schools , 2014, TOCE.

[11]  Lauri Malmi,et al.  A survey of literature on the teaching of introductory programming , 2007, ITiCSE-WGR '07.

[12]  S. Fincher,et al.  What are we doing when we teach programming? , 1999, FIE'99 Frontiers in Education. 29th Annual Frontiers in Education Conference. Designing the Future of Science and Engineering Education. Conference Proceedings (IEEE Cat. No.99CH37011.

[13]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[14]  Randy M. Kaplan,et al.  Choosing a first programming language , 2010, SIGITE '10.

[15]  Carsten Schulte,et al.  What do teachers teach in introductory programming? , 2006, ICER '06.

[16]  Diomidis Spinellis,et al.  Choosing a programming language , 2006, IEEE Software.

[17]  Mark Guzdial,et al.  Success in introductory programming: what works? , 2013, CACM.

[18]  Nigel Shadbolt Shadbolt review of computer sciences degree accreditationand graduate employability : April 2016 , 2016 .