Current Status and Perspectives of Debugging in the K12 Classroom: A Qualitative Study
Self-reliance in debugging is both an important skill and a major challenge in learning to program. Debugging is distinct from general programming skills and needs to be taught explicitly. Nevertheless, when it comes to teaching and learning debugging, there are surprisingly few studies and results. The aim of this qualitative study is to investigate how students and teachers cope with errors in the K12 classroom, which debugging skills are conveyed, and why teachers teach or do not teach certain debugging skills. Therefore, in a first step, we identify skills considered relevant for debugging by applying desk research. We particularly focus on skills considered relevant for novices. Building upon this, we analyze 12 interviews of German high-school teachers using structured qualitative content analysis. The results show that especially weaker students are often helpless and apply a trial-and-error approach for coping with programming errors. It turns out that compile-time errors pose a big hurdle for many students. Teachers are mostly rushing from one student PC to the other, trying to help. Regarding the teaching of debugging skills, teachers focus on heuristics for common bugs as well as some debugging strategies. No systematic process on how to tackle and cope with errors is conveyed by teachers. Furthermore, they do not employ explicit teaching lessons on debugging. Overall, teachers lack a systematic approach for teaching debugging, as there are only insufficient concepts and materials.