- Pair programming is a multifaceted tool that can be a great addition to your classroom.
- When pair programming, always restrict paired students to using one computer.
- One student is typing, the Driver, while the other student is watching, the Navigator.
- Below are a few examples of different ways to group students into pairs:
- Like Abilities: Pairing students with like abilities prevents a power dynamic where the weaker student only watches the advanced student code.
- Disparate Abilities: Conversely, pair A-level students with C-level students (or B with D) to create opportunities for the succeeding students to learn by helping their struggling partners and for the struggling students to learn by receiving personal help from their pair.
- Rotary Programming - In this style students don’t switch roles; however, the navigator switches to a new driver after a set amount of time over and over again. This gives navigators a chance to experience a lot of different code.
- Divide the class in half.
- One half will be Drivers and the other half will be Navigators.
- It doesn’t matter how students match up into pairs since they’ll be switching partners frequently.
- After a certain time limit (e.g., 10 minutes) have all the Navigators rotate to the next station (for example, "to the next PC on the left").
- Make sure the class is aware of where the Navigators move when they rotate so transitions go smoothly.
- Note from the CS Teaching Tips Team: Check out Colleen Lewis’ tip on getting everyone to change roles (or in this case stations) at the same time.
- You can have the whole class rotate as one large group, or set up smaller groups that rotate internally.
- With smaller groups, Navigators get the chance to see the same code multiple times.
- This gives the Navigators a valuable opportunity to watch the program evolve; to see the various ways different people changed, fixed, and furthered the code.
- Note: It’s important that Drivers and Navigators switch after a specified period of time (a class period, an hour, etc.).
- When this happens the old Navigators are now sitting down with the code.
- The old Drivers are now navigating and rotating around the class.
- There are also different ways you can organize the ways students switch roles between Driver and Navigator. Here are two variations:
- Variation 1: Students are given a set amount of time (X minutes) before they have to switch who is typing on the machine.
- Note from CS Teaching Tips Team: Check out our tip by Colleen Lewis on using a timer to have students switch roles.
- Variation 2: Each student has a particular portion of the code, like a method, they are responsible typing. Once they are done the other student takes over.
- If pair programming with both students sharing on one programming assignment isn't appropriate, you can still create pairs.
- In this scenario both students use their own computers, but they are required pairs to check-in with their partner to make sure each other’s code is accurate in both logic and syntax.