skip to main content
10.1145/2632320.2632349acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
review-article

A systematic review of approaches for teaching introductory programming and their influence on success

Published: 28 July 2014 Publication History

Abstract

Decades of effort has been put into decreasing the high failure rates of introductory programming courses. Whilst numerous studies suggest approaches that provide effective means of teaching programming, to date, no study has attempted to quantitatively compare the impact that different approaches have had on the pass rates of programming courses. In this article, we report the results of a systematic review on articles describing introductory programming teaching approaches, and provide an analysis of the effect that various interventions can have on the pass rates of introductory programming courses. A total of 60 pre-intervention and post-intervention pass rates, describing thirteen different teaching approaches were extracted from relevant articles and analyzed. The results showed that on average, teaching interventions can improve programming pass rates by nearly one third when compared to a traditional lecture and lab based approach.

References

[1]
J. D. Bayliss. The effects of games in CS1-3. In Microsoft Academic Days Conference on Game Development in Computer Science Education, pages 59--63. Citeseer, 2007.
[2]
M. Ben-Ari. Constructivism in computer science education. In SIGCSE bulletin, volume 30, pages 257--261. ACM, 1998.
[3]
J. Bennedsen and M. E. Caspersen. Failure rates in introductory programming. SIGCSE Bulletin, 39(2):32--36, 2007.
[4]
J. D. Chase and E. G. Okie. Combining cooperative learning and peer instruction in introductory computer science. SIGCSE Bulletin, 32(1):372--376, Mar. 2000.
[5]
N. De La Mora and C. F. Reilly. The impact of real-world topic labs on student performance in CS1. In Proc. Frontiers in Education, pages 1--6. IEEE, 2012.
[6]
J. Hattie. Visible learning: A synthesis of over 800 meta-analyses relating to achievement. Routledge, 2013.
[7]
M. Haungs, C. Clark, J. Clements, and D. Janzen. Improving first-year success and retention through interest-based CS0 courses. In Proc. SIGCSE, pages 589--594. ACM, 2012.
[8]
J. Kurhila and A. Vihavainen. Management, structures and tools to scale up personal advising in large programming courses. In Proc. SIGITE, pages 3--8. ACM, 2011.
[9]
P. Lasserre and C. Szostak. Effects of team-based learning on a cs1 course. In Proc. ITiCSE, pages 133--137. ACM, 2011.
[10]
I. Milne and G. Rowe. Difficulties in learning and teaching programming - views of students and tutors. Educ. and Information Technologies, 7(1):55--66, 2002.
[11]
P. Mullins, D. Whitfield, and M. Conlon. Using alice 2.0 as a first language. Journal of Computing Sciences in Colleges, 24(3):136--143, 2009.
[12]
U. Nikula, O. Gotel, and J. Kasurinen. A motivation guided holistic rehabilitation of the first programming course. Trans. Comput. Educ., 11(4):24:1--24:38, Nov. 2011.
[13]
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. In SIGCSE Bulletin, volume 39, pages 204--223. ACM, 2007.
[14]
L. Porter and B. Simon. Retaining nearly one-third more majors with a trio of instructional best practices in CS1. In Proc. SIGCSE, pages 165--170. ACM, 2013.
[15]
D. Radošević, T. Orehovački, and A. Lovrenčić. New approaches and tools in teaching programming. In Proc. of Central European Conference on Information and Intelligent Systems, pages 49--57, 2009.
[16]
M. Rizvi and T. Humphries. A scratch-based cs0 course for at-risk computer science majors. In Proc. Frontiers in Education, pages 1--5. IEEE, 2012.
[17]
A. Robins, J. Rountree, and N. Rountree. Learning and teaching programming: A review and discussion. Computer Science Education, 13(2):137--172, 2003.
[18]
S. C. Shaffer and M. B. Rosson. Increasing student success by modifying course delivery based on student submission data. ACM Inroads, 4(4):81--86, Dec. 2013.
[19]
B. Simon, P. Kinnunen, L. Porter, and D. Zazkis. Experience report: CS1 for majors with media computation. In Proc. ITiCSE, pages 214--218. ACM, 2010.
[20]
R. H. Sloan and P. Troy. CS 0.5: A better approach to introductory computer science for majors. SIGCSE Bulletin, 40(1):271--275, Mar. 2008.
[21]
A. E. Tew, C. Fowler, and M. Guzdial. Tracking an innovation in introductory CS education from a research university to a two-year college. In Proc. SIGCSE, pages 416--420. ACM, 2005.
[22]
I. Utting, A. E. Tew, M. McCracken, L. Thomas, D. Bouvier, R. Frye, J. Paterson, M. Caspersen, Y. B.-D. Kolikant, J. Sorva, and T. Wilusz. A fresh look at novice programmers' performance and their teachers' expectations. In Proc. ITiCSE Working Group Reports, pages 15--32. ACM, 2013.
[23]
A. Vihavainen. Predicting students' performance in an introductory programming course using data from students' own programming process. In Proc. ICALT, pages 498--499. IEEE, 2013.
[24]
H. M. Walker. Collaborative learning: a case study for CS1 at Grinnell College and Austin. In SIGCSE Bulletin, volume 29, pages 209--213. ACM, 1997.
[25]
C. Watson and F. W. Li. Failure rates in introductory programming revisited. In To appear in Proc. Innovation and Technology in Computer Science Education (ITiCSE). ACM, 2014.
[26]
C. Watson, F. W. Li, and J. L. Godwin. Predicting performance in an introductory programming course by logging and analyzing student programming behavior. In Proc. ICALT, pages 319--323. IEEE, 2013.
[27]
C. Watson, F. W. Li, and J. L. Godwin. No tests required: comparing traditional and dynamic predictors of programming success. In Proc. SIGCSE, pages 469--474. ACM, 2014.
[28]
L. Williams, C. McDowell, N. Nagappan, J. Fernald, and L. Werner. Building pair programming knowledge through a family of experiments. In Proc. Empirical Software Engineering, pages 143--152. IEEE.

Cited By

View all
  • (2025)The impact of thematic teaching on student learning outcomes in computer programming applicationsEducation and Information Technologies10.1007/s10639-025-13418-7Online publication date: 14-Feb-2025
  • (2024)Improving Coding Workshops: A Pattern CollectionProceedings of the 29th European Conference on Pattern Languages of Programs, People, and Practices10.1145/3698322.3698323(1-9)Online publication date: 3-Jul-2024
  • (2024)Experiences from Integrating Large Language Model Chatbots into the ClassroomProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690101(46-52)Online publication date: 5-Dec-2024
  • Show More Cited By

Index Terms

  1. A systematic review of approaches for teaching introductory programming and their influence on success

    Recommendations

    Reviews

    Andrew Brooks

    A systematic review of interventions to improve the pass rates of introductory programming courses yielded data for 60 courses. On average, the interventions improved pass rates by 12.8 absolute percentage points. Tables 3 through 7 usefully summarize the effectiveness of 13 different kinds of intervention, grouped under five primary intervention categories. For example, Table 3 shows that for the six cases where pair programming was the intervention, the pass rate improved on average by 9.6 absolute percentage points. Table 4 shows that for the four cases where a preliminary course (CS0) was the intervention, the pass rate improved on average by 10.5 absolute percentage points. Table 5 shows that for the seven cases where the use of media computation was the intervention, the pass rate improved on average by 14.7 absolute percentage points. Table 6 shows that for the four cases where reducing class size was the intervention, the pass rate improved on average by 17.8 absolute percentage points. Table 7 shows that for the three cases where extreme apprenticeship was the intervention, the pass rate improved on average by 16.5 absolute percentage points. No statistically significant differences in effectiveness were found between the five primary intervention categories. Section 4.2 provides a good account of the limitations of this kind of study. Nonetheless, many readers will find themselves agreeing with the authors' conclusions that those applying interventions are making a difference and that there is no one best kind of intervention. This paper is very strongly recommended to computer science faculty. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICER '14: Proceedings of the tenth annual conference on International computing education research
    July 2014
    186 pages
    ISBN:9781450327558
    DOI:10.1145/2632320
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 July 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. analysis
    2. cs1
    3. introductory programming
    4. programming education
    5. systematic review
    6. teaching interventions

    Qualifiers

    • Review-article

    Conference

    ICER '14
    Sponsor:
    ICER '14: International Computing Education Research Conference
    August 11 - 13, 2014
    Scotland, Glasgow, United Kingdom

    Acceptance Rates

    ICER '14 Paper Acceptance Rate 17 of 69 submissions, 25%;
    Overall Acceptance Rate 189 of 803 submissions, 24%

    Upcoming Conference

    ICER 2025
    ACM Conference on International Computing Education Research
    August 3 - 6, 2025
    Charlottesville , VA , USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)151
    • Downloads (Last 6 weeks)15
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)The impact of thematic teaching on student learning outcomes in computer programming applicationsEducation and Information Technologies10.1007/s10639-025-13418-7Online publication date: 14-Feb-2025
    • (2024)Improving Coding Workshops: A Pattern CollectionProceedings of the 29th European Conference on Pattern Languages of Programs, People, and Practices10.1145/3698322.3698323(1-9)Online publication date: 3-Jul-2024
    • (2024)Experiences from Integrating Large Language Model Chatbots into the ClassroomProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690101(46-52)Online publication date: 5-Dec-2024
    • (2024)A Clustering-Based Computational Model to Group Students With Similar Programming Skills From Automatic Source Code Analysis Using Novel FeaturesIEEE Transactions on Learning Technologies10.1109/TLT.2023.327392617(428-444)Online publication date: 2024
    • (2024)How can Unplugged Approach Facilitate Novice Students’ Understanding of Computational Thinking? An Exploratory study from a Nigerian UniversityThinking Skills and Creativity10.1016/j.tsc.2023.101458(101458)Online publication date: Jan-2024
    • (2024)Parallel Instruction of Text-based and Block-based Programming: On Novice Programmers’ Computational Thinking PracticesTechTrends10.1007/s11528-024-00993-8Online publication date: 5-Sep-2024
    • (2024)Effect of jigsaw‐integrated task‐driven learning on students' motivation, computational thinking, collaborative skills, and programming performance in a high‐school programming courseComputer Applications in Engineering Education10.1002/cae.2279332:6Online publication date: 4-Sep-2024
    • (2023)Research trends in programming education: A systematic review of the articles published between 2012-2020Journal of Educational Technology and Online Learning10.31681/jetol.12010106:1(48-81)Online publication date: 31-Jan-2023
    • (2023)A Systematic Literature Review of Student Assessment Framework in Software Engineering CoursesJournal of Information Systems Engineering and Business Intelligence10.20473/jisebi.9.2.264-2759:2(264-275)Online publication date: 1-Nov-2023
    • (2023)i-Ntervene: applying an evidence-based learning analytics intervention to support computer programming instructionSmart Learning Environments10.1186/s40561-023-00257-710:1Online publication date: 25-Jul-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media