Date of Award
Master of Science in Computer Science
Computer Science and Statistics
Pair programming is a technique within the computer science space in which two programmers are paired on one computer to solve a related programming task. This technique is often practiced in both the industry and the academic setting, as it has a consistent history of positively impacting working professionals and students regarding personal experience and performance in programming. As a result, there has been a large focus within the computer science education field on how and why pair programming is a successful technique. More specifically, what traits of pairing students together make pair programming successful. At the University of Rhode Island (URI) we employ this technique in different formats across various computer science courses.
This study focuses on the implementation of pair programming in one of those particular courses, an introductory programming course called ''Survey of Computer Science" (CSC 110). For more than five years this course has solely utilized pair programming in the laboratory environment with one specific combination of pairing traits, or pairing strategy. For each laboratory session, students are paired with new random partners on the condition that they have not paired with the same partner more than once. The implementation of this pairing strategy has proven to be successful in improving student learning, however, we recognize that no other pairing strategies have been implemented in this course. Curiosity about whether other pairing strategies exist that perform better at improving student learning had sparked the motivation to pursue this study.
We designed and experimented with two new pairing strategies in addition to the one pairing strategy that has been used in CSC 110 for over five years; we can coin this strategy as the historical strategy. The two new pairing strategies possess a few of the traits from the historical strategy as well as new ones. First, pairing strategy one pairs students together once at the beginning of the semester with similar skill levels and they keep those same partners until the end of the course. Second, pairing strategy two pairs students together on a weekly basis similar to the historical pairing, but instead of pairing random students together, students are paired using similar skill levels.
We collected data from 98 students to measure student performance in CSC 110 and data from 80 students to measure overall change in attitude towards computer science. This data contains student grades including final course grades, final exam grades, midterm exam grades, grades from weekly assignments and assessments, and attitude scores obtained through an attitude survey conducted in the beginning and the end of the course. To assist in our analysis of the data we collected, we employed the following statistical procedures: ANOVA test, Tukey HSD test (multiple comparisons), Kruskal-Wallis test, and the Wilcoxon test (non-parametric multiple comparisons). We included non-parametric statistical tests as a result of not meeting the data assumptions necessary to perform the ANOVA and Tukey HSD tests.
Using the statistical procedures we described we found significant differences between the impact of the pairing strategies when analyzing average final course grades, final exams, midterm exams, homework assignments, overall attitude scores, and specific attitude scores that measure one dimension of attitude survey. More specifically, we found that the historical pairing strategy used in CSC 110 performed better than pairing strategy two when comparing overall average attitude scores and average scores from one dimension of the attitude survey. In all other cases, they performed similarly. Likewise, the historical pairing also performed better than strategy one when comparing average final course grades, average homework grades, and again the average scores from the one dimension of the attitude survey. Other than those comparisons, the historical strategy and strategy one perform similarly.
As a result of our analysis, we conclude in this study that the new pairing strategies do not perform better than the historical pairing strategy. Therefore, we recommend that the historical pairing strategy is used in future occurrences of the CSC 110 course until further experimentation on pairing strategies occurs.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Sisouvong, Lily, "EXAMINATION OF VARYING PAIR PROGRAMMING STRATEGIES IN COMPUTER SCIENCE LABORATORY ENVIRONMENTS" (2023). Open Access Master's Theses. Paper 2353.