Skip to content

Latest commit

 

History

History

pair_programming_guidelines

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Pair Programming Intro and Guidelines

Videos

In addition to reading the description below, please watch our video demonstration on how to participate in pair programming exercises. We also recommend watching the follow up video on how NOT to pair.

Pair Programming Description and Guidelines

Pair Programming is a style of problem solving where two people collaborate, typically to write a functioning, code-based solution to a programmatic challenge. One person in the pair will be the driver, while the other will be the navigator. The driver focuses on drilling into the syntax details of the solution and typing out the actual code, while the navigator focuses on the overall logic and strategy of the solution approach.

It's hard to completely prevent driver and navigator tasks from overlapping, but it's key to the exercise that you try to do so as much as possible. Approaching pair problems from both perspectives will help you develop your problem solving skills along with your ability to be an effective technical collaborator.

When taking a Metis immersive course, on most days you will do a pair programming exercise, and you will get a mix of experience as driver and navigator, collaborating with different peers. The purpose of pair programming is to hone your problem solving, coding, and interviewing skills while reviewing or learning concepts that are core to the course that you're taking.

These are the goals we want you to shoot for in each pair exercise:

  • Try your hardest to solve the problem or answer the question.
  • Make sure that both people get a chance to contribute to the work equally.
  • Take the other person along: make sure that by the end, you both understand the answer you’ve come up with.
  • Be prepared to teach and be taught. Learn from each other: be a good communicator and a good listener.
  • Actively do everything you can do to facilitate your partner’s inclusion in the pair process.

Refer to the short algorithm below as a way to decide who will drive vs. who will navigate based on the day of the week, and remember to stick to your role as much as possible!

Pair "Drivers"

For each pair, use this to help you decide who will be the driver for the pair problem (the other person will be the navigator):

Day of the Week Decision Function
Monday first letter of last name earliest in the alphabet
Tuesday earliest birthday month (or date if same month)
Wednesday more letters in first name
Thursday first letter of last name latest in the alphabet
Fridays latest birthday month (or date if same month)

Example Problem and Solution

Here is an example of a possible pair problem, along with a python solution. This is the problem that's tackled in the demo video. Note that this is actually a pretty tricky problem! It could take a while to solve on the fly.

Additional Resources

More on the benefits and pitfalls of pair programming