Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
Debugging is a critical yet complex skill that remains challenging to teach — particularly to young novices who are increasingly taught Computer Science (CS). While explicit debugging instruction has been studied in secondary and tertiary settings, little is known about how primary school students learn to debug, whether they retain these skills over time, and how well they transfer to new contexts. In this study, we examine the impact of an in-class intervention in which 36 students aged 8–9 were explicitly taught debugging in Scratch for 4 sessions after 7 programming sessions. During the debugging lessons, the teacher modelled the debugging process and effective practices, with students applying these on unfamiliar code. Our findings show that the intervention as a whole contributed to an increase in students’ mastery of basic CS concepts, as well as their debugging ability in Scratch [effective]. Simultaneous to the improvement of debugging in Scratch, was an improvement in students’ debugging ability in another purely event-based programming language for an educational robot [transferable]. Finally, 10 weeks after the intervention, we observed 4 groups’ application of the debugging process. Students could recall the different steps of the debugging process, and apply them systematically, but only if they sufficiently mastered basic programming concepts [durable]. When conceptual gaps existed, the students struggled to understand code and reverted to largely ineffective trial-and-error behaviors. To conclude, explicitly teaching debugging and modelling good debugging practices to young novices is effective, transfers, and has the potential to durably affect debugging practices.