Abstract

Context: In the context of exploring the art, science and engineering of programming, the question of which programming languages should be taught first has been fiercely debated since computer science teaching started in universities. Failure to grasp programming readily almost certainly implies failure to progress in computer science. Inquiry: What first programming languages are being taught? There have been regular national-scale surveys in Australia and New Zealand, with the only US survey reporting on a small subset of universities. This the first such national survey of universities in the UK. Approach: We report 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 related) degree programmes, conducted in the first half of 2016. We report on student numbers, programming paradigm, programming languages and environment/tools used, as well as the underpinning rationale for these choices. Knowledge: 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, by the same respondents, to be both easier to teach as well as to learn. Grounding: We compare the results of this survey with a related survey conducted since 2010 (as well as earlier surveys from 2001 and 2003) in Australia and New Zealand. Importance: This survey provides a starting point for valuable pedagogic baseline data for the analysis of the art, science and engineering of programming, in the context of substantial computer science curriculum reform in UK schools, as well as increasing scrutiny of teaching excellence and graduate employability for UK universities.

Highlights

  • For many years – and increasingly at all levels of compulsory and post-compulsory education – the choice of programming language to introduce the “art” [ ], “science” [ ] and “discipline” [ ] of computer programming via key programming principles, constructs, syntax and semantics has been regularly revisited

  • There is a belief that programming – as opposed to, say analysis of algorithms, a closely related theoretical skill – is fundamentally a craft that needs immersion and practice [, ]. It appears that decades of research on the teaching of introductory programming has had limited effect on classroom practice [ ]; relevant research exists across several disciplines including education and cognitive science, disciplinary differences have often made this material inaccessible to many computing educators

  • Alongside a number of recommendations to address the apparently relatively high unemployment rates of computer sciences graduates, particular on the quality of data, course types, gender and demographics, the Shadbolt review split generalist universities in England into three bands (“low”, “medium”, “high”), based on the average entrance tariff of incoming undergraduates; we have followed the same tariff banding during our analysis of the English results, so our data should allow comparisons. In this evolving environment of new policies and curricula, as well as the emerging demands of innovative pedagogies and high-quality learning and teaching for computer science degree programmes, we present the findings from the first national scale survey of introductory programming languages at UK universities, providing a baseline for deeper analysis of the art, science and engineering of programming

Read more

Summary

Introduction

For many years – and increasingly at all levels of compulsory and post-compulsory education – the choice of programming language to introduce the “art” [ ], “science” [ ] and “discipline” [ ] of computer programming via key programming principles, constructs, syntax and semantics has been regularly revisited. Even in the context of what are perceived to be the most challenging introductory topics in computer science degrees, numerous key themes across programming frequently appear [ ]. There is a belief that programming – as opposed to, say analysis of algorithms, a closely related theoretical skill – is fundamentally a craft that needs immersion and practice [ , ]. It appears that decades of research on the teaching of introductory programming has had limited effect on classroom practice [ ]; relevant research exists across several disciplines including education and cognitive science, disciplinary differences have often made this material inaccessible to many computing educators. Computer science instructors have not had access to comprehensive surveys of research in this area [ , ]

Methods
Results
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.