Pair Programming
in Ms. Katz's Computer Science Courses

What is Pair Programming?

  Two programmers working side-by-side, collaborating on the same design, algorithm, code or test. One programmer, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects and also thinks strategically about the direction of the work. On demand, the two programmers can brainstorm any challenging problem. Because the two programmers periodically switch roles, they work together as equals to develop software.
           -- Laurie Williams of North Carolina State University Computer Science



Pairs must follow these rules. Adapted from Bob Noonan's rules.


If you choose to pair with someone in your section, let your instructor know that you are partners.

For each assignment, work together on one person's account to build the assignment. Submit one copy of the assignment with both names and userIDs in the comments. Email the program to the other partner as a backup. This is an important step. Each partner should have a copy of the current work at the end of a work session.

You should never work on an assignment separately and turn it in as a pair-produced project. If you start working on a project individually and get more than 25% of it completed, you must complete the project individually. Your partner must also do the assignment individually. Discuss the situation with your partner as soon as possible. Pair programmers work together.

If you need help, visit your instructor as a pair. If you send email for help, use a carbon copy (cc, not bcc) to show that both partners are asking and seeing the email.

Any online portion of tests will be done individually. No pairs are allowed on tests.