Pair Programming

Pair programming is often described as [Williams 2000]:
a practice in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, or test. This method has been demonstrated to improve productivity and the quality of software products.

Students who chose to work in pairs are required to abide by the rules given below.

What is pair programming?


Laurie A. Williams and Robert R. Kessler.
All I really need to know about pair programming I learned in kindergarten.
CACM, 43, 5 (May 2000), pp. 109-114.

Class-Specific Rules

Violations of Pair Programming

Sources of Stress

Pair Programming and CS141 (CS1)

A recently completed study of pair programming in an introductory programming class at UCSC is summarized in one slide. The results of this study provide some of the most compelling evidence to date of the effectiveness of pair programming as a pedagogical tool. It appears that pairing bolsters course completion and consequently course pass rates, and contributes to greater persistence in computer related majors.

The students in the pairing section were significantly more likely to complete and pass the course (CS1). For the students that passed CS1, those from the pairing section of CS1 were significantly more likely to pass CS2 on their first attempt. In addition to being more likely to pass, students who pair produce higher quality programs, are more confident in their work, and enjoy it more.