A Meta-Analysis of Pair-Programming in Computer Programming Courses

Several experiments on the effects of pair programming versus solo programming in the context of education have been reported in the research literature. We present a meta-analysis of these studies that accounted for 18 manuscripts with 28 independent effect sizes in the domains of programming assignments, exams, passing rates, and affective measures. In total, our sample accounts for N = 3,308 students either using pair programming as a treatment variable or using traditional solo programming in the context of a computing course. Our findings suggest positive results in favor of pair programming in three of four domains with exception to affective measures. We provide a comprehensive review of our results and discuss our findings.

[1]  Desmond Wesley Govender,et al.  Using a Collaborative Learning Technique as a Pedagogic Intervention for the Effective Teaching and Learning of a Programming Course , 2014 .

[2]  Laurie A. Williams,et al.  In Support of Pair Programming in the Introductory Computer Science Course , 2002, Comput. Sci. Educ..

[3]  Nicholas Berente,et al.  Pair Programming vs. Solo Programming: What Do We Know After 15 Years of Research? , 2016, 2016 49th Hawaii International Conference on System Sciences (HICSS).

[4]  Robert D. Macredie,et al.  Teaching Introductory Programming: A Quantitative Evaluation of Different Approaches , 2015, TOCE.

[5]  Sema A. Kalaian,et al.  Small-Group vs. Competitive Learning in Computer Science Classrooms: A Meta-Analytic Review , 2015 .

[6]  Stephen Marshall,et al.  Less Extreme Programming , 2004, ACE.

[7]  Ben Collins-Sussman,et al.  Team Geek - A Software Developer's Guide to Working Well with Others , 2012 .

[8]  Lucas Layman,et al.  Eleven Guidelines for Implementing Pair Programming in the Classroom , 2008, Agile 2008 Conference.

[9]  Laurie A. Williams,et al.  Pair Programming Illuminated , 2002 .

[10]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[11]  Tore Dybå,et al.  The effectiveness of pair programming: A meta-analysis , 2009, Inf. Softw. Technol..

[12]  Emilia Mendes,et al.  Empirical Studies of Pair Programming for CS/SE Teaching in Higher Education: A Systematic Literature Review , 2011, IEEE Transactions on Software Engineering.

[13]  Jacob Cohen,et al.  A power primer. , 1992, Psychological bulletin.

[14]  Pablo Romero,et al.  "Talking the talk": Is intermediate-level conversation the key to the pair programming success story? , 2007, Agile 2007 (AGILE 2007).

[15]  Forrest Shull,et al.  Are Two Heads Better than One? On the Effectiveness of Pair Programming , 2007, IEEE Software.

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

[17]  Catherine M. Beise,et al.  An Examination of Age, Race, and Sex as Predictors of Success in the First Programming Course , 2003 .

[18]  Edward F. Gehringer A pair-programming experiment in a non-programming course , 2003, OOPSLA '03.

[19]  Chris Parnin,et al.  Exploring Causes of Frustration for Software Developers , 2015, 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering.

[20]  James C. Spohrer,et al.  Cognitive Consequences of Programming Instruction , 2013 .

[21]  M. S. Patel,et al.  An introduction to meta-analysis. , 1989, Health Policy.

[22]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[23]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[24]  Christopher D. Hundhausen,et al.  Supporting Programming Assignments with Activity Streams: An Empirical Study , 2015, SIGCSE.

[25]  Amy B. Woszczynski,et al.  Personality and Programming , 2005, J. Inf. Syst. Educ..

[26]  Helen Sharp,et al.  Collaboration in Pair Programming: Driving and Switching , 2011, XP.