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

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.

[1]  Robert H. Sloan,et al.  CS 0.5: a better approach to introductory computer science for majors , 2008, SIGCSE '08.

[2]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[3]  David S. Janzen,et al.  Improving first-year success and retention through interest-based CS0 courses , 2012, SIGCSE '12.

[4]  Beth Simon,et al.  Retaining nearly one-third more majors with a trio of instructional best practices in CS1 , 2013, SIGCSE '13.

[5]  Patricia Lasserre,et al.  Effects of team-based learning on a CS1 course , 2011, ITiCSE '11.

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

[7]  Mark Guzdial,et al.  Tracking an innovation in introductory CS education from a research university to a two-year college , 2005, SIGCSE '05.

[8]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[9]  Mary Beth Rosson,et al.  Increasing student success by modifying course delivery based on student submission data , 2013, INROADS.

[10]  Jens Bennedsen,et al.  Failure rates in introductory programming , 2007, SGCS.

[11]  Mona E. Rizvi,et al.  A Scratch-based CS0 course for at-risk computer science majors , 2012, 2012 Frontiers in Education Conference Proceedings.

[12]  Joe D. Chase,et al.  Combining cooperative learning and peer instruction in introductory computer science , 2000, SIGCSE '00.

[13]  Frederick W. B. Li,et al.  Failure rates in introductory programming revisited , 2014, ITiCSE '14.

[14]  Jaakko Kurhila,et al.  Management, structures and tools to scale up personal advising in large programming courses , 2011, SIGITE '11.

[15]  Laurie A. Williams,et al.  Building pair programming knowledge through a family of experiments , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[16]  Arto Vihavainen,et al.  Predicting Students' Performance in an Introductory Programming Course Using Data from Students' Own Programming Process , 2013, 2013 IEEE 13th International Conference on Advanced Learning Technologies.

[17]  Michael P. Conlon,et al.  Using Alice 2.0 as a first language , 2009 .

[18]  Olly Gotel,et al.  A Motivation Guided Holistic Rehabilitation of the First Programming Course , 2011, TOCE.

[19]  Iain Milne,et al.  Difficulties in Learning and Teaching Programming—Views of Students and Tutors , 2002, Education and Information Technologies.

[20]  Danijel Radošević,et al.  New Approaches and Tools in Teaching Programming , 2009 .

[21]  Frederick W. B. Li,et al.  No tests required: comparing traditional and dynamic predictors of programming success , 2014, SIGCSE.

[22]  Beth Simon,et al.  Experience report: CS1 for majors with media computation , 2010, ITiCSE '10.

[23]  Jessica D. Bayliss The Effects of Games in CS1-3 , 2007, J. Game Dev..

[24]  M. Carter Visible learning: a synthesis of over 800 meta‐analyses relating to achievement , 2009 .

[25]  Allison Elliott Tew,et al.  A fresh look at novice programmers' performance and their teachers' expectations , 2013, ITiCSE -WGR '13.

[26]  Henry MacKay Walker Collaborative learning: a case study for CS1 at Grinnell College and Austin , 1997, SIGCSE '97.

[27]  Frederick W. B. Li,et al.  Predicting Performance in an Introductory Programming Course by Logging and Analyzing Student Programming Behavior , 2013, 2013 IEEE 13th International Conference on Advanced Learning Technologies.

[28]  Christine F. Reilly,et al.  The impact of real-world topic labs on student performance in CS1 , 2012, 2012 Frontiers in Education Conference Proceedings.