A few weeks ago, I started volunteering as an instructor for a local GirlsWhoCode club. GirlsWhoCode is an amazing non-profit that wants to teach pre-college girls about computer science, via summer camps and school year clubs at high schools around the country. They also happen to use Khan Academy for teaching programming, so it's a great opportunity for me to see Khan in the classroom with my own eyes.
One of the important things that I want to share with our club students are the many social aspects of programming - the whole spectrum of learning from each other online, helping each other in person, giving peer reviews, and the practice of pair programming. We could just tell them "pick a pair and program" but I wanted them to really understand *how* to pair program and *why* its useful.
I started with this short slideset on pair programming:
Then, I did a little variables review and told the students what project they'd be working on, the Custom Clothing Project. They proceeded to pick a partner, re-arranging chairs when needed, and got to work. As I walked around, it looked like most pairs were pairing well, collaborating and switching off every so often. A few pairs devolved into working on their own computers, which is something that can easily happen when a classroom is lacking actual physical pairing stations. Next time, I may explicitly tell them to turn one computer off, or only host documentation on it.
Overall, I'm happy we introduced pair programming this way, and hope to use it in our future in-class projects. If you're thinking of introducing it to your classroom, I recommend checking out the NCWIT Pair-Programming-in-a-Box kit, which also has recommended surveys for finding out from students how well they liked it. If you're a teacher that already uses pair programming, I'd love to hear your tips, especially for doing it at a younger age and with the Khan curriculum.