Pair Programming Standards and Requirements



In CS439, you will complete the beginning projects with a partner, and later projects will be completed in your teams of four. Programming with a partner or in a group 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 reduces the likelihood of syntax and design errors, as there are two pairs of eyes watching for mistakes. If the driver tries out a flawed solution, the partner is there to provide constructive criticism and helpful alternatives. Pair programming does not mean taking an assignment and partitioning into two pieces and then having each person complete a piece.

Group programming is very similar, except now one person drives while the others observe, comment, and make suggestions. Everyone present should get a chance to drive, and the driver should change every 30 minutes.

Here are the requirements for pair and group programming in this course:

  1. Every team member present must act as a driver, and the driver must change every 30 minutes.

  2. At least 80% of your time must be spent working together at one computer.

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

    #Michael driving now
    def main():    x = 0;
       y = 0;
       # more code
    
    # end of Michael driving, Kelly driving now 
    

    (except your code should be in C!)

    For blocks of code where more than one person drove, your comment may state something like:

    #Michael and Kelly drove here
    
  4. Maintain a log that records the date and time you work on your project, which team members were working on the project, and which team member was driving (typing). Example:

    9/17, 9:30a - 11:45a Michael, Kelly, Clare, and Emily, 2.25 hours
    Driver Order and Time Length:
    Michael, 30 minutes
    Clare, 30 minutes
    Emily, 30 minutes
    Kelly, 30 minutes
    Michael, 15 minutes

    9/17, 7:30p - 9:00p, Michael and Kelly, 1.5 hours
    Driver Order and Time Length:
    Kelly, 30 minutes
    Michael, 30 minutes
    Kelly, 30 minutes

    9/18, 8:00a - 11:00a, Michael, Kelly, Clare, and Emily, 3 hours
    Driver Order and Time Length:
    Clare, 30 minutes
    Emily, 30 minutes
    Michael, 30 minutes
    Kelly, 30 minutes
    Clare, 30 minutes
    Emily, 30 minutes

    9/18, 7:00p - 8:30p, Clare and Emily, 1.5 hours
    Driver Order and Time Length:
    Clare, 30 minutes
    Emily, 30 minutes
    Clare, 30 minutes

    Name your file pair_programming_log.txt and turned in with the rest of your materials. (make turnin will do this for you automatically.)