Analysis of research into the teaching and learning of programming

This paper presents an analysis of research papers about programming education that were published in computing education conferences in the years 2005 to 2008. We employed Simon's classification scheme to identify the papers of interest from the ICER, SIGCSE, ITiCSE, ACE, Koli Calling and NACCQ conferences. Having identified the papers, we analyzed the type of data collected, whether the analysis was qualitative, quantitative, or mixed, and the aims and outcomes being reported. The greatest number of papers employed quantitative research methods, investigated the ability, aptitude, or understanding of students, and were based in single courses. The theme of the research and the type of study conducted vary across the conferences, indicating the different nature and role of each conference. Papers that investigated student learning of programming in terms of established theories or models of learning were not common, indicating an area of research that deserves more attention.

[1]  Manuel Rubio-Sánchez,et al.  A gentle introduction to mutual recursion , 2008, ITiCSE.

[2]  Essi Lahtinen,et al.  Targeting program visualizations , 2007, ITiCSE '07.

[3]  Angela Carbone,et al.  Classifying computing education papers: process and results , 2008, ICER '08.

[4]  David S. Janzen,et al.  Test-driven learning in early programming courses , 2008, SIGCSE '08.

[5]  Jens Bennedsen,et al.  Abstraction ability as an indicator of success for learning computing science? , 2008, ICER '08.

[6]  Patricia Haden,et al.  Programming osmosis: Knowledge transfer from imperative to visual programming environments , 2007 .

[7]  David W. Valentine,et al.  CS educational research: a meta-analysis of SIGCSE technical symposium proceedings , 2004, SIGCSE '04.

[8]  Michael Eagle,et al.  Wu's castle: teaching arrays and loops in a game , 2008, ITiCSE.

[9]  David R. Krathwohl,et al.  Methods of Educational and Social Science Research: An Integrated Approach , 1992 .

[10]  Gail E. Kaiser,et al.  Backstop: a tool for debugging runtime errors , 2008, SIGCSE '08.

[11]  Luxton-ReillyAndrew,et al.  A replicated experiment of pair-programming in a 2nd-year software development and design computer science course , 2006 .

[12]  Katherine Deibel,et al.  Studying our inclusive practices: course experiences of students with disabilities , 2007, ITiCSE.

[13]  JonesSue Jane,et al.  Spatial skills and navigation of source code , 2007 .

[14]  Samuel Mann,et al.  Similarity and originality in code: plagiarism and normal variation in student assignments , 2006 .

[15]  Steven M. Hadfield,et al.  RAPTOR: a visual programming environment for teaching algorithmic problem solving , 2005, SIGCSE '05.

[16]  Mark Guzdial,et al.  Impact of alternative introductory courses on programming concept understanding , 2005, ICER '05.

[17]  Susan Wiedenbeck,et al.  Factors affecting the success of non-majors in learning to program , 2005, ICER '05.

[18]  Lauri Malmi,et al.  Why students drop out CS1 course? , 2006, ICER '06.

[19]  Jacob Perrenet,et al.  Exploring students' understanding of the concept of algorithm: levels of abstraction , 2005, ITiCSE '05.

[20]  Lauri Malmi,et al.  Maintaining a Core Literature of Computing Education Research , 2006 .

[21]  Jacob Perrenet,et al.  Levels of abstraction in students' understanding of the concept of algorithm: the qualitative perspective , 2006, ITICSE '06.

[22]  Briana B. Morrison,et al.  Women catch up: gender differences in learning programming concepts , 2006, SIGCSE '06.

[23]  William Wiersma,et al.  Research Methods in Education: An Introduction (8th Edition) , 2004 .

[24]  William Wiersma,et al.  Research Methods in Education: An Introduction , 1980 .

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

[26]  Mordechai Ben-Ari,et al.  Perceived behavior control and its influence on the adoption of software tools , 2008, ITiCSE.

[27]  Justus J. Randolph Findings from "A Methodological Review of the Computer Science Education Research: 2000--2005" , 2007, SGCS.

[28]  Graciela Gonzalez A systematic approach to active and cooperative learning in CS1 and its effects on CS2 , 2006, SIGCSE '06.

[29]  Andrew Begel,et al.  Novice software developers, all over again , 2008, ICER '08.

[30]  Tzu-Yi Chen,et al.  Relationship of early programming language to novice generated design , 2006, SIGCSE '06.

[31]  Ronan G. Reilly,et al.  Examining the role of self-regulated learning on introductory programming performance , 2005, ICER '05.

[32]  Linda Mannila,et al.  An objective comparison of languages for teaching introductory programming , 2006, Baltic Sea '06.

[33]  Marc Roper,et al.  Using cognitive conflict and visualisation to improve mental models held by novice programmers , 2008, SIGCSE '08.

[34]  SaiedianHossein,et al.  Test-driven learning in early programming courses , 2008 .

[35]  Lauri Malmi,et al.  A survey of literature on the teaching of introductory programming , 2007, ACM SIGCSE Bull..

[36]  Linda Stern,et al.  You can lead a horse to water: how students really use pedagogical software , 2005, ITiCSE '05.

[37]  Carol Frieze,et al.  Culture and environment as determinants of women's participation in computing: revealing the "women-CS fit" , 2006, SIGCSE '06.

[38]  Angela Carbone,et al.  Going SOLO to assess novice programmers , 2008, ITiCSE.

[39]  Justus J. Randolph Multidisciplinary Methods in Educational Technology Research and Development , 2008 .

[40]  Briana B. Morrison,et al.  A multi-institutional investigation of computer science seniors' knowledge of programming concepts , 2005, SIGCSE '05.

[41]  Emilia Mendes,et al.  A replicated experiment of pair-programming in a 2nd-year software development and design computer science course , 2006, ITICSE '06.

[42]  Michael de Raadt A Review of Australasian Investigations into Problem Solving and the Novice Programmer , 2007, Comput. Sci. Educ..

[43]  Michael Eagle,et al.  Wu's castle: teaching arrays and loops in a game , 2008, SIGCSE 2008.

[44]  Tim Wahls,et al.  The effects of pair-programming on individual programming skill , 2008, SIGCSE '08.

[45]  Kris Powers,et al.  Evaluating assessments of novice programming environments , 2005, ICER '05.

[46]  Robert McCartney,et al.  From Limen to Lumen: computing students in liminal spaces , 2007, ICER '07.

[47]  Tobias Lauer,et al.  A study of algorithm animations on mobile devices , 2007, SIGCSE.

[48]  Seppo Nevalainen,et al.  An experiment on short-term effects of animated versus static visualization of operations on program perception , 2006, ICER '06.

[49]  Simon Koli Calling comes of age: an analysis , 2007 .

[50]  Leen-Kiat Soh Incorporating an intelligent tutoring system into CS1 , 2006, SIGCSE '06.

[51]  Raymond Lister The Randolph thesis: CSEd research at the crossroads , 2007, SGCS.

[52]  Lauri Malmi,et al.  Constructing a core literature for computing education research , 2005, SGCS.

[53]  Angela Carbone,et al.  Eight years of computing education papers at NACCQ , 2008 .

[54]  Meriel Huggard,et al.  Object oriented programming and program correctness: the students' perspective , 2006, ICER '06.

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

[56]  Janet Hughes,et al.  ASSISTing CS1 students to learn: learning approaches and object-oriented programming , 2006, ITICSE '06.

[57]  Orit Hazzan,et al.  Qualitative research in computer science education , 2006, SIGCSE '06.

[58]  Anders Berglund,et al.  What do we mean by theoretically sound research in computer science education? , 2004, ITiCSE '04.

[59]  A. Onwuegbuzie,et al.  Mixed Methods Research: A Research Paradigm Whose Time Has Come , 2004 .

[60]  Gary E. Burnett,et al.  Spatial skills and navigation of source code , 2007, ITiCSE.

[61]  Brian Hanks Student attitudes toward pair programming , 2006, ITICSE '06.

[62]  Mark Toleman,et al.  Incorporating programming strategies explicitly into curricula , 2007 .

[63]  Simon,et al.  A Classification of Recent Australasian Computing Education Publications , 2007, Comput. Sci. Educ..

[64]  RichardsBrad,et al.  A multi-institutional investigation of computer science seniors' knowledge of programming concepts , 2005 .

[65]  Mark Toleman,et al.  Chick sexing and novice programmers: explicit instruction of problem solving strategies , 2006 .

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

[67]  Anniina Salo,et al.  Effectiveness of integrating program visualizations to a programming course , 2007 .

[68]  Margaret Hamilton,et al.  The ability to articulate strategy as a predictor of programming skill , 2006 .

[69]  Mordechai Ben-Ari,et al.  On understanding the statics and dynamics of object-oriented programs , 2005, SIGCSE '05.

[70]  Anders Berglund,et al.  What does it take to learn 'programming thinking'? , 2005, ICER '05.

[71]  Daniel C. Cliburn,et al.  Games, stories, or something more traditional: the types of assignments college students prefer , 2008, SIGCSE '08.

[72]  Jenny Edwards,et al.  The teaching of novice computer programmers: bringing the scholarly-research approach to Australia , 2008, ACE '08.

[73]  Charlie Daly,et al.  Patterns of plagiarism , 2005, SIGCSE '05.

[74]  L. Cohen,et al.  Research Methods in Education , 1980 .

[75]  Gary Lewandowski,et al.  Debugging: the good, the bad, and the quirky -- a qualitative analysis of novices' strategies , 2008, SIGCSE '08.

[76]  Janet Rountree,et al.  Observations of Student Competency in a CS1 Course , 2005, ACE.

[77]  Amruth N. Kumar,et al.  The effect of using problem-solving software tutors on the self-confidence of female students , 2008, SIGCSE '08.

[78]  Jens Bennedsen,et al.  An investigation of potential success factors for an introductory model-driven programming course , 2005, ICER '05.

[79]  Kimberle Koile,et al.  Improving learning in CS1 via tablet-PC-based in-class assessment , 2006, ICER '06.

[80]  James B. Fenwick,et al.  ClockIt: collecting quantitative data on how beginning software developers really work , 2008, ITiCSE.