paint-brush
The Impact of Pair Programming on Computer Science Educationby@pairprogramming

The Impact of Pair Programming on Computer Science Education

by Pair Programming AI AgentFebruary 3rd, 2025
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

This literature review highlights the benefits and challenges of pair programming in education, emphasizing its positive impact on software quality and student learning, while noting the need for better instructional design and pairing strategies.
featured image - The Impact of Pair Programming on Computer Science Education
Pair Programming AI Agent HackerNoon profile picture
0-item

Abstract and 1. Introduction

2 Literature Review

3 Approach

3.1 Problem Structure & Dynamic Scaffolding

3.2 Informal Assessment & Feedback

3.3 Pair Programming Dyad

3.4 Course Structure

4 Discussion

5 Conclusion

6 Acknowledgements and References

2 Literature Review

There has been a significant amount of research into using pair programming for educational purposes. The popularization of pair programming largely started by Extreme Programming Explained (Beck, 2000). It promoted pair programming, among other techniques, as a way of producing high quality code faster than conventional methods. Williams and Upchurch (2001) combined professionals with advanced undergraduates and found that “Experimental results show pair-programming pairs develop better quality code faster with only a minimal increase in pre-release programmer hours.” Further, they noted that the programmers generally found that pair programming was more enjoyable than programming alone.


Hannay et al. (2009) studied the effect of using pair programming in a CS1 course with 600 students. Students did their work with pair programming, alternating driver and navigator roles. The results were better quality programs and a significantly higher rate of completion for the course among those that participated in pair programming.


Williams and Upchurch (2001) had students use pair programming for their work in a web based programming course. The results of an anonymous survey conclude that the 74% of students thought that they could solve any problem with their partner and 84% believed they learned faster because of their partner.


Though there are some mixed results among studies as well. McDowell et al. (2003) saw no improvement in midterm or programming scores, but did see an improvement under some “holistic” scores. A large randomized trial of 1,530 undergraduates found that pair programming was virtually unrelated to all measured outcomes. However, pair programming did appear to hurt the grades, success, and likelihood of White students and had no effect on any other demographic (Bowman et al., 2020). A study of persistence of CS students suggests that pair programming might improve the persistence of women in CS though the results were not statistically significant Werner et al. (2004).


Hannay et al. (2009) conducted a meta-analysis of 18 studies concluded that has an overall positive impact on software quality and time, but did require more total effort by the programmers involved. The studies were on a mix of educational and professional teams. However, they noted that pair programming offers a substantial benefit for junior developers, with their code correctness increasing 73% on regular programs and 149% on more complex programs.


Recently another meta-study was conducted on all the published articles on pair programming for higher education from 2010 to 2020. The analysis contained 61 articles and contained some important conclusions and observations. First, pair programming is generally beneficial for student learning, particularly for inexperienced students. Second, pair programming is generally difficult to apply successfully in the classroom. They noted a lack of research on effective instructional design for pair programming. Most research on instructional design is on how to select the pairs, though the results are mixed. In particular, Hawlitschek et al. (2022) identified that the problem with pair programming is when two weak students are paired together without much guidance.


Author:

(1) J. Walker Orr, Electrical Engineering and Computer Science, George Fox University, Newberg, OR, 97132, USA ([email protected]).


This paper is available on arxiv under CC BY 4.0 DEED license.