Pair programming is the practice of having two programmers work at a single computer. They take the role of the Driver, who handles the keyboard and mouse, and the Navigator who observes and comments. Both participants should talk more-or-less continuously, and the two should swap roles periodically. Pair programming is observed to increase enjoyment, performance, and learning of both participants.
Talks from Tapestry Workshops
|Atlas, James||Paired Programming||Delaware 2011||Slides (pptx)
|Heckman, Sarah||Paired Programming||Virginia 2012/2015||Slides 2012 (pptx) Slides 2012 (pdf) Slides 2015 (pptx)|
|Sherriff, Mark||Paired Programming||Virginia 2011||Slides (ppt)|
|Warner, Linda||Pair Programming||Florida 2013||Slides (ppt)|
|Williams, Laurie||Pair Programming||North Carolina 2012||Slides (pdf) on implementing it
Slides (pdf) on why to do it
|Vieira Mejia, Camilo||Cognitive Load, Pair Programming, etc.||Indiana 2013||Slides (google)
- Web site focussing on the research aspects of pair programming.
- Web site focussing on how to add pair programming to a classroom.
- NCWIT's Pair Programming in a Box, a collection of handouts and materials to help you implement pair programming in your classroom.
- Introductory Video (youtube) designed to be shown to students before they first pair program. 10 minutes.
- CATME, a tool for creating and evaluating pairs (or larger groups)
- PairEval, a tool for creating and evaluating pairs
We find three aspects contributes to a good pairing.
- Similar level of ability. Ideally, each participant thinks the other participant is just slightly better than they are. Practically, this means matching students of similar competence.
- Similar demographics. Pair programming includes a lot of communication; this is easier the more similar the participants are culturally. This is more important when the students are uncomfortable with pairing.
- It seems to work best to pair one person high in Sensing with another high in Intuition on the Myers-Briggs personality index.
Students are more likely to endure a sub-optimal pairing if they know it's just for one or two assignments. Switching pairings also helps distinguish between an unfortunate matching and a problem student in grading.