<< Back

Pair Programming for Homework Assignments

On This Page


Rather than working alone on a homework assignment, you may work with one other person provided that you follow the instructions on this page.

In pair programming, you and your partner are both physically present and work collaboratively at one computer. One person is the "driver" and types the code into the computer. The other person is called the "navigator" and actively checks the work entered by the driver. Each partner spends about one-half of the time for each assignment as the driver and the other half as the reviewer. Together, you and your partner should discuss and implement the design, produce the code and run the tests on the code. Each solution must be a true joint effort equally owned, created and understood by both students.

Splitting up the assignment into parts and working on them separately is not permitted and violates both the letter and the spirit of the academic honesty code for this course. Working together virtually, for example through shared desktops or Skype calls, also violates the academic honesty code unless approved in advance by the instructor.

Rules of Pair Programming

  1. You must work with one other student of this class, no more and no less, for an assignment.
  2. When working together, you must work together physically in the same place on one computer to edit and compile code.
  3. Periodically, about every half-hour, change who uses the keyboard and mouse so that each student has a chance to drive.
  4. More than 75% of the time spent on an assignment must be spent with your pair-programming partner in person.
  5. Any work done alone must be reviewed by the partner.
  6. You must both turn in the same project code.

Do my partner and I each need to turn in the assignment?

Yes, you must both turn in assignments to BlackBoard for record keeping purposes. However, you both need to turn in the same project code and will both receive the same evaluation on all the programming projects.

If there are multiple programming projects for an assignment, can I pair program on just one program?

Yes and no. The purpose of pair programming is that you work on the entire set of projects together and turn in the same project code. It is prohibited to work on different programs with different partners because it is too hard to track. If you do work on only one project out of a set with another person then you will get no extra credit for pair programming. If you do work on a project with another student, make sure you include both your names in the assignment file and list which ones you worked on together in the README.TXT file or you will need to answer questions regarding academic integrity.

If my partner did not help with most of the assignment, should I still put his or her name on the assignment?

No. If you completed the assignment on your own, then you should turn in your assignment with just your name on it. If you started working with another person and then completed the assignment on your own, then state who you worked with and the reason why you did not finish the assignment together.

If I start working on an assignment with a partner, and then change my mind, what can I do?

Once you decide to pair program, you may not change your mind and complete the program alone. Instead, you must erase all your code and start over. If your assignment is similar to another student's, and the other student is not a declared pair-programming partner, then you will need to answer questions regarding academic integrity.

If I start working on an assignment by myself, and then change my mind and want to work with a partner, what can I do?

If you have worked individually and have completed more than 25% of the assignment, then you must complete the assignment on your own. Alternatively, you may scrap any solution that either of you generated and redo the assignment together.

Further Reading on Pair Programming

If you would like to learn more about pair programming, try these links:

Pair Programming: The "rules" from www.extremeprogramming.org.

All I Really Need to Know about Pair Programming I Learned in Kindergarten: Good suggestions on how to program in pairs..

<< Back