Exploring Upper Elementary Students' Debugging Strategies in Scratch
Abstract
The difference between a student who thrives in computer science and one who grows to dislike it often comes down to their debugging experiences. Until recently, debugging was not an explicit focus of computer science pedagogies; instead, it was assumed students would internalize debugging skills through the practice of programming. Yet, learning to debug can be challenging for novice students and may demotivate them if they are not carefully supported throughout the process. Debugging requires students to engage with multiple skills, such as program comprehension, code reading, writing, tracing, predicting, and modifying. While debugging pedagogies are becoming more common, they remain understudied in elementary education, particularly in block-based environments like Scratch. In this qualitative case study, we explored how 4th and 5th grade students described identifying bugs after participating in a four-week online Scratch Summer camp that included explicit debugging instruction. One week after the camp, six students completed six structured Scratch debugging tasks and participated in retrospective think-aloud interviews. Thematic analysis revealed four bug identification strategies: (1) identifying missing or incorrect blocks, (2) theorizing what caused the bug, (3) visualizing bugs through animation, and (4) clarifying the intended program behavior. These strategies suggest that while many learners can identify block-level bugs, fewer describe intended behavior or explain why the program behaves as it does. We discuss implications for designing K–-5 debugging instruction that supports students in moving from identifying bugs in the code to reasoning about program behavior.