Pair Programming

Intro to Pair Programming

Video by Code.org


More on Pair Programming

Video by Prof. Laurie Williams, NC State University

Pair programming is a software development technique used in both education and industry. From the National Center for Women & Information Technology (NCWIT): "Pair programming is a collaborative learning method in which students program in pairs instead of individually. This approach significantly improves college students' programming competency and increases the likelihood that both male and female students become and remain computer science majors."

Pair Programming-in-a-Box provides all the components you need to successfully use pair programming methods in your class. Teachers often start by showing the following video to their students before the first time they use pair programming. We encourage you to use pair programming on the very first exercise in class. Students may feel intimidated by having to write their first program; working in pairs helps to relieve some of that anxiety.

Pair Logistics — Teachers often wonder how to set up the pairs, when to switch them, etc. in their classrooms. Pairs can be established randomly each day in class, assigned for a set periods (one week, a quarter, a module), or students may be allowed to choose their own. If you use an app such as KidPick, it will generate random groups for you each class period. The key is that students know they won't be in the same group for the entire course - they will get to switch at some point if they don't like working with their partner. Do not pair high performing and low performing students together on a regular basis. Students seem to work best with those that they feel are at a similar level. (You could use exit slips to have them rate their own programming ability - also known as self-efficacy - and put them into pairs based on those answers.)

Pair Programming Tips — One of the keys to successful pair programming in the classroom, is making sure that students follow the driver/navigator roles so that they are equally participating. You may need to redirect navigators who are off-task or drivers having trouble giving up the keyboard. Also look to make sure that students are actively talking to each other and each student seems to understand the code in the program. You may find the video below of Mobile CSP students demonstrating pair programming in action and teachers explaining roles helpful. If you're looking for more tips on using Pair Programming in the classroom, check out these from CSTeachingTips.org

Another resource, the Pair Programming Toolkit, includes tips on how to pair students, how to set up computer workstations for collaboration, and a number of lesson plans for introducing pair programming to your students.

Pair Programming Role Tips

Online & Hybrid Teaching with Mobile CSP: Pair Programming

Reflection Activity

Discuss the following questions with others in your professional development cohort:

  • How does pair programming support the computational thinking practice of collaborating?

  • What do you think you should look for in the classroom to ensure equal engagement between driver and navigator? How will you redirect students if they are not following these roles?