Pair programming is an exercise that's more or less what it sounds like, which is programming in pairs. In this framework, a “driver” and a “navigator” trade off on roles. The driver is behind the "wheel," or keyboard, pushing ahead toward the destination. The navigator is in the co-pilot position, making sure the driver stays on course. Pair programming is a very controversional practice in tech, but for the purposes of learning it can be a great occasional aide, because it makes students think out loud about their work and helps with giving and receiving feedback -- a huge part of professional success in general, not just for coding.