Pair Programming
What is it?
Two programmers work side by side at one computer, continuously
collaborating on the same design, algorithm, code and test. This
approach improves productivity and the quality of software products.
Students who choose to work in pairs are required to abide by the
rules given below. To work together in a different way is an
academic honesty violation on the part of both pair members (see the
academic dishonesty policy in the course syllabus.)
Rules
- 90% of the work and time spent on the project is spent working
collaboratively, using one machine. One person is typing or
writing (aka driving), the other is continually reviewing the
work and offering input and feedback. Both are engaged in the
work at all times. A good rule of thumb is to switch roles every
30 minutes.
- The pair members must take roughly equal turns driving.
Alternate who is driving and who is reviewing. Take turns. Keep
a log of all time spent on the project, noting who was driving
and who was reviewing. Turn in this log with your assignment.
The log should include meeting place, date, and times.
- Pairs turn in only one copy of the assignment or lab with both
names on the assignment.
- Pairs are required to actively work together - any form of
splitting up the work is a violation of pair programming rules
and an academic dishonesty issue.
Example Log:
6/2, 7:30 - 8:30 Mike, 1 hour
6/2, 7:30 - 8:30, Kelly, 1 hour
6/3, 7:00 - 9:00, EER2 lobby, Mike and Kelly, 4 hours
6/4, 8:00 - 9:30, Starbucks, Mike and Kelly, 3 hours
6/5, 8;00 - 10:00, O's courtyard, Mike and Kelly, 4 hours
total time 13 hours, 11 hours of pair programming
Within the code
place comments stating who was driving when the code was written.
Example:
//Mike driving now
public static void main(String[] argrs)
{ int x = 0;
int y = 0;
// more code
}
// end of Mike driving, Kelly driving now
Violations of Pair Programming and the Course
Academic Honesty Policy
- Taking turns doing the assignment(s).
- Splitting the assignment in two and each doing half.
- One person doing all or most of the work and the other partner
getting credit for work they didn't do, as if they contributed
equally.
- One member of a pair coming to see the instructional staff
about an assignment without their partner.
Concerns
If you are having difficulty working with your pair partner that you
cannot resolve, please see your instructor promptly.
- Differences in experience levels
- Scheduling difficulties
- Pair partner reliability
Submissions
Only one assignment will be submitted by a pair. Each partner may be
required to check out the assignment with the graders separately.