in Teaching Strategies

Pair Programming 101: From Two Ps to Four Cs

Have you heard of pair programming? If you work in K-12 education today, chances are you’ve come across the concept, especially if you’re a Tech TOSA or STEM Teacher. 

You might even be vaguely familiar with the basics of pair programming. In a teaching strategy borrowed from professional engineers, two students pair up to program one project, either from one computer or by sharing a screen. One student takes on the role of the Driver, controlling the mouse and keyboard, while another serves as Navigator, making suggestions, pointing out errors, and raising questions. 

But did you know pair programming can be a great way to teach much more than coding and computer science? We recently broke down the 4 Cs on the OzoBlog—creativity, critical thinking, collaboration, and communication. Now, we’re laying out how pair programming can help teachers incorporate those core 21st century competencies. We’ll also look at how pair programming can empower populations traditionally underrepresented in technology.

Teachers Can Introduce Pair Programming at Any Age

Pair programming isn’t just for professional programmers and university students anymore. Students as young as kindergarten can start programming in pairs or groups, with Ozobot Basic Training lessons and other free resources. Owen Peery, a TOSA and Computer Science Specialist, recently got kindergarten students to pair program dance parties using Scratch Jr. Scratch Jr is available as a free app, and Code.org also has resources for pair programming in younger grades.  

Kathleen Shafer, an Instructional Technology TOSA at SVUSD, had fourth graders pair up and use ShapeTracer. With the benefit of a simulator window, ShapeTracer lets students test out and debug their programs together before loading code to an Ozobot.  

Coding Together to Unlock Creativity and Critical Thinking

Creativity is more important than ever in education, as today’s students prepare to enter an economy that favors innovation over the status quo.

In an eSchool News article on how to nurture creative confidence and critical thinking, Sam Sakai-Miller, Ed.D touts the 50-solutions mentality, which involves brainstorming 50 possible solutions to a given problem. “Creativity is unleashed,” she writes, “as the seemingly wild and impossible solutions lead to rich, shoot-the-moon goals.” Pair programming can have the same effect as spitballing 50 solutions. It gives a student the opportunity to see another student’s perspective and unique approach to a problem firsthand. 

To take the creativity and critical thinking even further in your classroom, ETR Research Associate Shannon Campe suggests letting students redefine the pair programming roles of Navigator and Driver. “For example,”she writes, “sometimes one student types and the other manipulates the mouse. All behaviors are okay as long as they are respectful and both partners are engaged.”

Collaboration and Communication

Picture a computer programmer. You probably visualize someone at an individual workstation, slogging away on sections of code. In fact, developers work together often, collaborating to test, patch, and review one another’s code. 

Pair programming takes that to another level. When programmers are paired up on projects, they report producing results more than twice as fast, and they get the added benefit of developing their collaboration, communication, and social-emotional skills. 

Letting a colleague or fellow student watch you work can make anyone feel vulnerable, but as we get used to it many benefits come into play. As outlined above, collaborating with others can help students to be open to different perspectives and blue-sky solutions. It can also lead to the development of invaluable communication skills. 

So much of communication is learning to put things into words and syntax others can understand. There are many ways to write a program to reach a single goal. In pair programming, you have to get there in a way that makes sense to your partner too, so they can pick up right where you left off if and when you switch roles. 

Beyond how students communicate within their code, Shannon Campe suggests setting up positive ground rules for communication within a programming pair, “e.g., listening to your partner, asking questions, not making fun of partner’s ideas, not grabbing the mouse, etc.”

A Pathway to Get More Girls Into Programming

There’s another, unexpected benefit to bringing pair programming to your classroom. Some experts argue that pair programming is a great way to engage populations who are traditionally underrepresented in computer science studies and technology leadership roles. 

Tara Linney, edtech coach at the Singapore American School, recognizes pair programming as a way to develop iteration mindsets in female students. While girls sometimes tend to focus on purpose and the end product, pairing them with boys (who sometimes focus on fun) can give them an opportunity to enjoy iteration and the individual steps of a project.

In a study by UCSC, women who programmed in pairs had higher retention rates, meaning more of them stuck with their STEM studies than women who programmed independently. Among female students who set out to major in CS, those who paired were more likely than those who worked independently to stick with the major by a staggering 60% vs. 22%.

Of course, not all female students will or should be expected to fit that mould. But with a technology workforce that continues to suffer from a lack of diversity, the pressure is on teachers to use new strategies to keep girls and minorities engaged in 21st century learning. Pair programming may be one of those strategies, and the fact that it unlocks the Four Cs along the way makes it an ideal option for teaching coding and computer science. 
Check out the Ozobot Lesson Library for free K-12 lessons that can be taught using pair programming.