Pair Programming

In this class, I would like all students to work with a partner on their programming assignments. You do not have to work with a partner, but I highly recommend it. Why? Because experience and research into using pair programming in introductory programming courses has shown that:

  • Students who pair are more likely to take the final and pass the course than students who do not.
  • Students who pair are more likely to remain in the CS, CE, or ISM major.
  • Students who pair have more confidence in their work.
  • Students who pair produce higher quality programs
  • Students who pair are more likely to turn in their programming assignments, and these programs are more likely to compile.

If you choose to work by yourself, you are still required to do the same programming assignments as students who pair.

What is pair programming?

In pair programming, two people work together to develop a single computer program. One of the programmers is called the driver and sits at the keyboard. The other programmer is called the navigator and sits next to the driver where she can see the screen clearly. The programmers change roles regularly - a good rule of thumb is every 20 to 30 minutes.

The navigator is responsible for watching the driver. She notes mistakes that the driver is making (for example, forgetting to enter the ';' at the end of a line), as well as assists in designing the code, making suggestions for improvement, and asking questions if the driver seems to be getting off-course.

Pair Programming in this class

In this class, when you sit down to work on one of the programming assignments, you must be working with your partner at one computer. One of you will sit at the keyboard while the other observes. This does not mean that one of you is doing all the work

While you are pairing, you should be talking to each other about what you are doing. Both partners should be actively involved.

Remember to trade roles regularly.

The following are not pair programming:

  • Splitting the work in half, where each person does part of the work.
  • Working at separate times.
  • One person doing all of the work, but turning it in with both partner's names.

Instances of the above will be considered as cheating in this class, and will be treated as such. Instances of academic dishonesty or cheating will be taken seriously.

IMPORTANT: If you are having problems working with your partner, please contact the instructor or one of the TAs immediately. For example, if your partner stops showing up to work with you, let us know so that we can address the situation.