Social & Education Policy

Pair Programming in Perspective: Effects on Persistence, Achievement, and Equity in Computer Science

Bowman, N.A.; Jarratt, L.; Culver, K.C.; Segre, A.M.
Jan-10-2020

Abstract

Pair programming is a form of collaborative learning in computer science that involves two students working together on a coding project. Previous research has identified mostly positive outcomes from this practice, such as course grades and the quality of the resulting code. Pair programming may also facilitate interactions that improve the climate for women and Students of Color, thereby reducing equity gaps in achievement and persistence. However, the existing research findings are inconsistent, which may reflect limitations in research design and/or challenges with implementing pair programming in an ideal manner. The present study sought to provide rigorous evidence through a cluster-randomized trial with 1,530 undergraduates in 96 lab sections across three different introductory computer science courses. Within the full sample, pair programming was unrelated to virtually all outcomes. However, pair programming actually led to poorer outcomes among White students, including grades within the introductory course, attempting or completing subsequent computer science courses, and majoring or minoring in computer science. These negative effects were generally driven by White students whose partners had either low or high levels of prior programming experience.