A Proposal for a Debugging Learning Support Environment for Undergraduate Students Majoring in Computer Science
Aoi Kanaya, Takuma Migo, Hiroaki Hashiura
TL;DR
The paper tackles how undergraduates in computer science learn debugging, noting reliance on print debugging and limited exposure to debuggers. It proposes a Scratch-based self-learning environment that introduces breakpoints and step execution with visible paused states to mimic IDE debugging and facilitate transfer to other programming contexts. An experimental study with 18 undergraduates plus 2 graduate-level subjects randomized participants into a Scratch-tool group and a traditional IDE group; debugger usage and procedural adherence were assessed via video analysis. Findings indicate no clear learning advantage from the Scratch tool; some differences appeared in action counts but overall there was no significant change in debugger usage or procedures, suggesting the need for refined evaluation and exploration of why the tool did not yield the expected gains ($p=0.0558$, $p=0.0389$, $α=0.05$). Future work should investigate underlying causes, improve measurement methods (e.g., logging), and optimize the Scratch integration to better align with IDE-based debugging workflows.
Abstract
In software development, encountering bugs is inevitable. However, opportunities to learn more about bug removal are limited. When students perform debugging tasks, they often use print statements because students do not know how to use a debugger or have never used one.In this study, among various debugging methods, we focused on debugging using breakpoints. We implemented a function in Scratch, a visual programming language, that allows for self-learning of correct breakpoint placement and systematic debugging procedures.In this paper, we discuss experimental results that clarify the changes that occur in subjects when they learn debugging in Scratch.
