Exploring the Pair Programming Process: Characteristics of Effective Collaboration

Pair programming is a collaboration paradigm that has been increasingly adopted in computer science education. Research has established that pair programming can hold benefits for students' learning and attitudes, but comparatively little is known about the ways in which the collaborative process benefits students' CS learning. This paper examines the collaboration process, comparing important outcomes with how students' dialogue and problem-solving approaches unfolded. The results show that the collaboration is more effective when both partners make substantive dialogue contributions, express uncertainty, and resolve it. In particular, driver dialogue expressivity is associated with improved outcomes. The findings provide insight into the ways in which pair programming dialogue benefits student learning during CS problem solving.

[1]  Kristy Elizabeth Boyer,et al.  Identifying Effective Moves in Tutoring: On the Refinement of Dialogue Act Annotation Schemes , 2014, Intelligent Tutoring Systems.

[2]  Alex Radermacher,et al.  Assigning student programming pairs based on their mental model consistency: an initial investigation , 2012, SIGCSE '12.

[3]  Daniel D. Garcia,et al.  The first five computer science principles pilots: summary and comparisons , 2012, INROADS.

[4]  Jill Denner,et al.  Observations of Pair Programming: Variations in Collaboration Across Demographic Groups , 2016, SIGCSE.

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

[6]  Michael English,et al.  Evaluating Pair-Programming for Non-Computer Science Major Students , 2015, SIGCSE.

[7]  D. Scott McCrickard,et al.  Teaching Mobile Development with Pair Programming , 2016, SIGCSE.

[8]  Daniel D. Garcia,et al.  CS principles: piloting a new course at national scale , 2011, SIGCSE '11.

[9]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[10]  Eileen Kraemer,et al.  Social effects of pair programming mitigate impact of bounded rationality , 2014, SIGCSE.

[11]  Diane J. Litman,et al.  Adapting to Student Uncertainty Improves Tutoring Dialogues , 2009, AIED.

[12]  Alex Radermacher,et al.  Investigating the effective implementation of pair programming: an empirical investigation , 2011, SIGCSE '11.

[13]  References , 1971 .

[14]  Laurie A. Williams,et al.  Improving the CS1 experience with pair programming , 2003, SIGCSE.

[15]  Andreas Stolcke,et al.  Dialogue act modeling for automatic tagging and recognition of conversational speech , 2000, CL.

[16]  Jill Denner,et al.  Pair programming for middle school students: does friendship influence academic outcomes? , 2013, SIGCSE '13.

[17]  Mark Zarb,et al.  Further Evaluations of Industry-Inspired Pair Programming Communication Guidelines with Undergraduate Students , 2015, SIGCSE.

[18]  Charles E. McDowell,et al.  The effects of pair-programming on performance in an introductory programming course , 2002, SIGCSE '02.

[19]  Colleen M. Lewis,et al.  How Equity and Inequity Can Emerge in Pair Programming , 2015, ICER.

[20]  Michelene T. H. Chi,et al.  Eliciting Self-Explanations Improves Understanding , 1994, Cogn. Sci..

[21]  Laurie Williams,et al.  The costs and benefits of pair programming , 2001 .

[22]  Nickolas J. G. Falkner,et al.  Collaborative learning and anxiety: a phenomenographic study of collaborative learning activities , 2013, SIGCSE '13.

[23]  Ian R. McChesney,et al.  Three Years of Student Pair Programming: Action Research Insights and Outcomes , 2016, SIGCSE.