Explaining Pair Programming Session Dynamics from Knowledge Gaps