Research suggests that both experienced and inexperienced programmers tend to
- be resistant initially to pair-programming, and
- find it very beneficial and enjoyable once they get over their initial resistance.
Pair Programming Guidelines
- You and your partner should work together as much as possible, with the stipulation that at most 25% of your total time coding, testing, and debugging on the assignment can be working alone.
- When the pair gets back together after either partner has worked on the code alone, review, line by line, the work done alone before doing any new work. Strictly speaking, pair programming when done as part of the "Extreme Programming" software development process, requires that any code written by a solo programmer must be discarded and rewritten.
- You and your partner should alternate driving and navigating spending roughly equal amounts of time in each role.
- You should change roles (driving/navigating) no less than every half-hour.
- For it to be considered a joint effort, you can spend at most 15 minutes alone finishing up a program after your last meeting with your partner.
- Pair programming is not a two person team where you do divide and conquer with one partner working on one part, the other partner working on another part, and then combining those parts back into a whole. It is two people working together on one computer on the same code at the same time.
Failed Attempts at Pair-Programming
The following are examples of failed attempts at pair programming and what should be done in each case. The list is by no means complete.
- You and your partner complete the program together but substantially deviate from one of the 5 guidelines above (e.g. too much time working alone).
- In this case it is still considered a pair submission. Your logs should reflect what occurred.
- You begin working with your partner but then you cannot finish it together and you finish it on your own (spending more than the permitted 15 minutes finishing up).
- BOTH partners should submit their own version of program in addition to a log explaining what happened. This is critical so that neither is accused of academic misconduct when the programs show up as being very similar.
- You and your partner never manage to get together.
- Of course both partners submit their own version, there is no need to mention the partner in the log. Simply indicate something such as "never managed to get together with my partner."
- You get together with your partner but it just isn't working for some reason (e.g. they always want to drive, they never want to drive, they clearly aren't studying and don't come prepared to your planned sessions).
- BOTH partners should submit their own version of program in addition to a log explaining what happened. This is critical so that neither is accused of academic misconduct when the programs show up as being very similar.