Pair Programming Standards and Requirements



In this class you may sometimes choose to do your programming assignments with a partner. This is a great tool to help learn how to program and solve problems.

Pair programming means working on an assignment together, sitting at the same computer. One person drives (types at the keyboard) while the other person sits next to the driver while observing, commenting, and making suggestions to the driver. This form of programming can speed up the programming process by having a helper immediately available. It also tends to reduce errors in the code because there are two sets of eyes examining the code. It also reduces errors because if the driver try a questionable solution to a problem the watcher will hopefully question the faulty logic and a better thought out solution will be found. Pair programming does not mean taking an assignment and partitioning into two pieces and then having each person complete a piece.

If you want to use pair programming, certain requirements must be met.

1. Maintain a log of when you worked on the assignment. Record the day and time either person worked on the assignment. At least 80% of your time must be spent working together at one computer. Record the total amount of time spent on the assignment. Example:

6/2, 7:30 - 8:30 Mike, 1 hour
6/2, 7:30 - 8:30, Kelly, 1 hour
6/3, 7:00 - 9:00, Mike and Kelly, 4 hours
6/4, 8:00 - 9:30, Mike and Kelly, 3 hours
6/5, 8;00 - 10:00, Mike and Kelly, 4 hours
total time 13 hours, 11 hours of pair programming

2. When working as a pair have the driver and watcher swap about every 30 minutes.

3. Within the code place comments stating who was driving when the code was written. Example:

#Mike driving now
def main():    x = 0;
   y = 0;
   # more code

# end of Mike driving, Kelly driving now 

3. Record the problems and challenges you encountered on the assignment. What was particularly difficult? What parts of the assignment did you need outside help on?

4. Record the things you learned about programming and algorithms while doing the assignment.

All of the log requirements should be kept in a simple text file and added as a comment to the beginning of the file you turn in for the assignment.