Change Contents of the Bubble
View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Pair Programming

Pair programming is a process of collaborative programming where two people work together to write a program – not each writing parts separately, but two people at the computer at all times. We are basing our guidelines for Pair Programming on some used successfully at University of California, Santa Cruz: http://www.cse.ucsc.edu/classes/cmps012a/Fall05/hw/pairProgramming.html (Another useful set of guidelines, particularly for picking your partner, can be found at http://www.cs.wisc.edu/~cs302/pair_programming.html)

In traditional Pair Programming practice (called Extreme Programming), the rules are quite harsh – nothing can be done apart from your partner and any programs you write on your own have to be thrown away! (http://www.extremeprogramming.org/rules/pair.html). We won't require that much togetherness, but try to get as close to that as possible.

But the real reason that we're going to use Pair Programming is because it has been used quite successfully in introductory programming classes (see http://www.cra.org/CRN/articles/march05/werner.html). Students write better programs working in Pairs, they learn more about computer science (!), and they are generally happier than if they work alone (http://www.cse.ucsc.edu/~charlie/pubs/iticse04.pdf). That's why we're trying it.

PAIR PROGRAMMING GUIDELINES


Note: Not following the guidelines will be considered a violation of honor code. Seriously. We hold you at your honor to spend no more than 25% of the programming effort alone, and to split the time at the keyboard 50-50 with your partner.

Our preference is for you to work with the same partner for HW6, HW7, and HW8. With permission of the instructor, you can swap partners. Everyone must have a partner!.

You will turn in ONE assignment for each pair, but with both names on it. NOTE: BOTH PEOPLE TURN IN THE ONE ASSIGNMENT!

  1. You and your partner should work together as much as possible, spending at most 25% of your total programming effort on the assignment working alone.
  2. When the pair gets back together after either partner has worked on the code alone, review, line by line, the work done alone before doing any new work. Strictly speaking, pair programming when done as part of the "Extreme Programming" software development process, requires that any code written by a solo programmer must be discarded and rewritten.
  3. You and your partner should alternate driving and navigating spending roughly equal amounts of time in each role.
  4. You should change roles (driving/navigating) no less than every half-hour.
  5. You can spend at most 15 minutes alone finishing up a program after your last meeting with your partner.

If you have any problems in pair programming, like if your partner goes AWOL on you, please notify your TA, the Head TA or the professor before the assignment is due.

Links to this Page