🤖 AI Summary
Middle school students commonly struggle with debugging text-based programming, frequently陷入 trial-and-error cycles and experiencing negative affect; existing tools inadequately support systematic, reflective debugging strategies. Method: This study pioneers the adaptation of the PRIMM pedagogical framework to debugging, designing and implementing an online debugging assistant that guides learners through structured phases—Predict, Run, Investigate, Modify, and Refactor—to delay code execution, externalize reasoning, and integrate educational logging with fine-grained behavioral tracking. Contribution/Results: Multi-school experiments reveal limited student adherence to enforced reflection, yet behavioral analytics uncover critical cognitive bottlenecks and timely intervention opportunities. The work establishes a novel theoretical and empirical foundation for reflective debugging instruction, advancing both pedagogical theory and tool design in introductory programming education.
📝 Abstract
Debugging is often a challenging and infuriating experience for secondary school students learning their first text-based programming language. Many students resort to ineffective debugging strategies, making success with solving errors unlikely and emotional distress common. Developing tools that encourage students to adopt a more systematic and reflective approach to debugging is therefore an important, but lacking, area of research. This paper presents PRIMMDebug, a debugging teaching aid for secondary school students learning text-based programming. The aid consists of an online tool that takes students through the steps of a systematic debugging process based on PRIMM, a framework for teaching programming. The tool promotes a reflective approach to debugging by heavily encouraging students to articulate their thoughts throughout the PRIMMDebug process while simultaneously limiting their ability to run and edit code. To evaluate the tool, a set of students from four secondary schools were taught with PRIMMDebug over several lessons. Survey results and log data analysis show that students were generally reluctant to engage with the systematicity and reflection that the tool encourages. Given that related work on systematic debugging has reported similar challenges, we end by considering how these approaches could be refined to help more students benefit from them.