Social learning theory posits that learning is most effective when providing learners with opportunities to observe and interact with peers. Unfortunately, current K-12 programming education ...