Experiment with different techniques for grouping students into pairs to find out what works best in your classroom because pair programming is a great tool that can improve student’s coding skills and syntax proficiency.

  • 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").
      • 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.
      • 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.