There are tons of guides on the internet that talk about pair-programming and its incredible ability to maximize learning and communication. Yet there are so few resources on how to make this work for the burgeoning developer in a high school CS program. Consider this document living and know that I welcome insight on how to improve it. Let’s pair program!
Let’s Get On the Same Page
In the future you are going to pick your partner. For now, I’m your teacher and I’ve started this one out based on research. I want us to start off with a few things understood:
- The person next to you is in fact, a person, meaning that you have a lot of similarities and probably have a lot going on outside of this activity. Soooooo! Let’s treat each other with respect. I put you together to make one another better.
- You’re not together because you’re weak and you’re not together because you’re strong. Rather, we’re going to navigate some new territory. You’re like shoes or gloves; one can help the other.
- Give this an earnest try. You won’t always program like this, but we are learning and I will adapt this according to your feedback!
Paired and Ready to Go!
Okay, we’ve got this. I’m going to lay out the instructions and follow up at the bottom with some things to keep the process going.
Here are your roles:
- The NAVIGATOR is the person who will be guiding your pair. The navigator is going to be responsible for walking the DRIVER through the process of coding / design. They tell the driver what to do (kindly and respectfully), but also listen to feedback.
- The DRIVER is going to have the keyboard. The DRIVER will actually type the code in move the things on screen. You are using one computer, so this should be easy to facilitate.
Okay. Once you have your roles, it is time to start. Here’s the catch. We are going to use “Strong-style” for this. The saying with Strong-style is that “for any idea to go into the computer, it must go through someone else’s hands.” This means that when one of you has an idea, you must pass the keyboard to the other in order for it to get typed.
So the partnership should look like the NAVIGATOR telling the DRIVER what to do. DRIVERs can’t make decisions on their own. If the DRIVER gets and idea, then they need to pass the keyboard, thus becoming the NAVIGATOR. This is going to keep our pairings healthy, where both partners are fully engaged at all times!
- NAVIGATOR tells driver what to type.
- DRIVER types only what they are told.
- If the driver has an idea, they tell the NAVIGATOR that they would like to switch.
- Both partners ask questions and get feedback to make sure they are on the same page.
Communication is Key
Making decisions together is something that can be really tough or awkward. Below are some really helpful things that you might communicate to your partner.
Orienting the Process:
- What would you do [here, next…]?
- Are you comfortable with that idea / decision?
- What are some things that we’ve done in the past that might help now?
Understanding Each Other’s Thought Process:
- What would you say are the benefits to that strategy?
- Do you have an example?
- Tell me more about that so that I can understand.
You are totally welcome to disagree. However, remember to critique ideas and not each other. Take time to think and breathe throughout this process. This is a new concept for us and so can come with some frustrations. Good luck!