Pair Programming
Pair programming is a new form of programming where two people work together to write code using a single computer. Typically the way it works is one person acting as a navigator and another as a driver. The driver sits in front of the computer to do the typing, while it's the navigator's job to give instructions. The process is more a back and forth communicator than the navigator dictating what the driver should do.
Often, navigator and driver will switch roles. The process is great for reviewing code as you have two sets of eyes on the problem.
Why it's important to DBC
It's important to DBC because it allows students to learn from one another. Instead of relying on a traditional teacher, pairing allows for both parties to exchange ideas and solve problems together, where each person adds to the skill-set of the other.
DBC places a focus on pair programming because it cultivates the ability to work in teams, which will serve graduates well throughout their career. Lastly, during apprenticeship the process of pair programming fosters a sense of community within the cohort.
Driver vs. Navigator
The driver is the one who is doing the typing and takes care of things like language syntax, variable naming and writing out the code. They're constantly listening to the navigator for direction but are also inputing their own ideas into the code they're writing.
The navigator is the one who is focused on the overall direction of the problem the pair is solving. This person must be cognizant of the steps involved in solving the problem. In essence what this means is he/she is the one thinking about the pseudo-code. If there are errors that might have been overlooked by the driver, the navigator is in optimum position to catch it because he/she is detached from the code writing process.