SPARK: Real-Time Monitoring of Multi-Faceted Programming Exercises
Yinuo Yang, Ashley Ge Zhang, Steve Oney, April Yi Wang
TL;DR
SPARK addresses the challenge of monitoring student progress in multi-faceted programming exercises by offering a checkpoint-based dashboard that supports customizable task groups, automated test suggestions, and real-time and retrospective visualizations. The method combines AI-generated tests, Puppeteer-based interaction simulation, and a component inspector to reveal intermediate outputs and runtime states across many students. Key contributions include a dataset of 22 students solving two web programming tasks, a within-subject user study with 16 instructors validating usefulness, and a scalable design for class-wide monitoring. The work demonstrates that SPARK improves accuracy in diagnosing challenges, increases instructor confidence, and enables targeted, engaging feedback at scale.
Abstract
Monitoring in-class programming exercises can help instructors identify struggling students and common challenges. However, understanding students' progress can be prohibitively difficult, particularly for multi-faceted problems that include multiple steps with complex interdependencies, have no predictable completion order, or involve evaluation criteria that are difficult to summarize across many students (e.g., exercises building interactive web-based user interfaces). We introduce SPARK, a coding exercise monitoring dashboard designed to address these challenges. SPARK allows instructors to flexibly group substeps into checkpoints based on exercise requirements, suggests automated tests for these checkpoints, and generates visualizations to track progress across steps. SPARK also allows instructors to inspect intermediate outputs, providing deeper insights into solution variations. We also construct a dataset of 40-minute keystroke coding data from N=22 learners solving two web programming exercises and provide empirical insights into the perceived usefulness of SPARK through a within-subjects evaluation with 16 programming instructors.
