PuzzleMe: Leveraging Peer Assessment for In-Class Programming Exercises

Peer assessment, as a form of collaborative learning, can engage students in active learning and improve students' learning gains. However, current teaching platforms and programming environments provide little support to integrate peer assessment for in-class programming exercises. We identified challenges in conducting in-class programming exercises and adopting peer assessment through formative interviews with instructors of introductory programming courses. To address these challenges, we introduce PuzzleMe, a programming exercises tool to help CS instructors to conduct engaging and learning effective in-class programming exercises. PuzzleMe leverages peer assessment to support a collaboration model where students provide timely feedback on peers' work. We propose two assessment techniques tailored to in-class programming exercises: live peer testing and live peer code review. Live peer testing can improve students' code robustness by allowing students to create and share lightweight tests with peers. Live peer code review can improve students' code understanding by intelligently grouping students to maximize meaningful code reviews. A two-week deployment study revealed that PuzzleMe encourages students to write high-quality test cases, identify code problems, correct misunderstandings, and learn a diverse set of problem-solving approaches from peers.