CS 111

Fall 2016

Introduction to Computer Science

Pair Programming Guidelines

Many assignments will have the option to work with a partner. When working with a partner, you should follow paired programming practices. That means:

Paired programming often makes it easier to catch mistakes quickly, and often helps you to design better solutions for the problems you're solving. You should both read through the assignment before meeting, and you can think about how you might go about completing the assignment. However, you should not start coding without your partner (or working on the code at all without your partner); if you do think up an idea and write it down without your partner, go over it together when you next meet. Note that while paired programming can help you catch mistakes more quickly, it won't necessarily help you finish the assignment more quickly than you would by yourself—in general, though, it will help you to learn more than you would by yourself and can help you to avoid too much frustration.

Best practices

Working together often takes some practice, but a few best practices will help things go more smoothly:

Logistics for this class

In CS111, you'll stay with the same partner for a couple projects, and then fill out a feedback form and get assigned a new partner. You have the option of working on your own; I encourage you, though, to choose to participate in pairs because I think you'll often have more fun and develop a deeper understanding of the material.

A few logistical reminders:

What if we can't work together

I hope it won't happen, but occasionally, something happens that means working with your partner is impossible. Maybe she or he hasn't responded to any of your emails, or doesn't show up for meetings. If this occurs, you can complete the project alone. You should first email me and your partner, and include any code that you two have put together so far; it is not acceptable to simply email your partner and tell her or him that you no longer want to work together—you must include me in this communication. You should comment all of that code to indicate it was done with your partner (e.g., at the top of each method coded jointly, state "This method created with <partner's name>."). You can then finish the coding yourself. You shouldn't take this option just because you're frustrated that you understand something better than your partner, and I'd encourage you to talk to me and your partner before choosing this option. If you and a partner do split, I'll reach out to both of you to see what happened. Generally, you will not have the opportunity to be paired with someone new until the next time others in the class switch partners.

If you run into less serious problems working with your partner and can't resolve them among yourselves, please come talk to me and I will try to help.

As noted in most assignments, you should: start early, ask questions, and have fun when pair programming!