|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
In very rare circumstances, you may change partners after everyone involved discusses it with your instructor. Do not let the finality of a partner choice prevent you from trying pair programming. It is a very beneficial approach to software development.
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.