An Analysis of Introductory Programming Courses at UK Universities

Preprint English OPEN
Murphy, Ellen ; Crick, Tom ; Davenport, James H. (2016)

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.
  • References (20)
    20 references, page 1 of 2

    [1] N. B. Dale, “Most difficult topics in CS1: results of an online survey of educators,” ACM SIGCSE Bulletin, vol. 38, no. 2, pp. 49-53, 2006.

    [2] D. Gupta, “What is a good first programming language?,” Crossroads, vol. 10, no. 4, 2004.

    [3] R. M. Kaplan, “Choosing a first programming language,” in Proc. ACM Conf. on Information Technology Education, pp. 163-164, 2010.

    [4] S. Fincher, “What are we doing when we teach programming?,” in Proc. 29th Annual Frontiers in Education Conf., 1999.

    [5] C. Schulte and J. Bennedsen, “What do teachers teach in introductory programming?,” in Proc. 2nd Int. Workshop on Computing Education Research, pp. 17-28, 2006.

    [6] Simon, S. Fincher, A. Robins, B. Baker, I. Box, Q. Cutts, M. de Raadt, P. Haden, J. Hamer, M. Hamilton, R. Lister, M. Petre, K. Sutton, D. Tolhurst, and J. Tutty, “Predictors of success in a first programming course,” in Proc. 8th Australasian Conf. on Computing Education, pp. 189-196, 2006.

    [7] S. Bergin and R. Reilly, “Predicting introductory programming performance: A multiinstitutional multivariate study,” Computer Science Education, vol. 16, no. 4, pp. 303-323, 2006.

    [8] L. Porter, M. Guzdial, C. McDowell, and B. Simon, “Success in introductory programming: what works?,” Communications of the ACM, vol. 56, no. 8, pp. 34-36, 2013.

    [9] M. Ivanovi´c, Z. Budimac, M. Radovanovi´c, and M. Savi´c, “Does the choice of the first programming language influence students' grades?,” in Proc. 16th Int. Conf. on Computer Systems and Technologies, pp. 305-312, 2015.

    [10] A. Pears, S. Seidman, L. Malmi, L. Mannila, E. Adams, J. Bennedsen, M. Devlin, and J. Paterson, “A Survey of Literature on the Teaching of Introductory Programming,” ACM SIGCSE Bulletin, vol. 39, no. 4, pp. 204-223, 2007.

  • Metrics
    No metrics available
Share - Bookmark