Debuggen im Unterricht - Ein systematisches Vorgehen macht den Unterschied

Selbstständig Fehler in Programmcode zu finden und zu beheben stellt sowohl eine wichtige Fähigkeit als auch eine große Herausforderung beim Programmierenlernen dar. Debuggen unterscheidet sich von allgemeinen Programmierfertigkeiten und muss explizit gelehrt werden. Dennoch gibt es überraschend wenige Studien, Materialien und Konzepte, die sich mit der expliziten Vermittlung von Debuggingfähigkeiten beschäftigen. Eine relevante Debuggingfähigkeit ist ein systematisches Vorgehen bei der Fehlersuche. Dieser Beitrag analysiert die Wirksamkeit einer expliziten Vermittlung eines solchen systematischen Vorgehens im Unterricht, insbesondere hinsichtlich der Selbstwirksamkeitserwartungen und der resultierenden Debuggingleistung der Schülerinnen und Schüler. Zu diesem Zweck haben wir eine Intervention entwickelt, pilotiert und anschließend in einem Pre-PostKontrollgruppen-Test-Design untersucht. Die Ergebnisse zeigen sowohl einen signifikanten Anstieg der Selbstwirksamkeitserwartungen als auch der Debuggingleistung in der Versuchsgruppe.

[1]  McCoy Sharon Carver,et al.  Improving children's debugging skills , 1987 .

[2]  Robert Hirschfeld,et al.  Studying the advancement in debugging practice of professional software developers , 2015, Software Quality Journal.

[3]  Gary Lewandowski,et al.  Debugging: the good, the bad, and the quirky -- a qualitative analysis of novices' strategies , 2008, SIGCSE '08.

[4]  David J. Gilmore,et al.  Models of Debugging , 1991, PPIG.

[5]  Ralf Romeike,et al.  Current Status and Perspectives of Debugging in the K12 Classroom: A Qualitative Study , 2019, 2019 IEEE Global Engineering Education Conference (EDUCON).

[6]  Carl Martin Allwood,et al.  Training of Pascal novices' error handling ability , 1991 .

[7]  Carl Martin Allwood,et al.  Novices' Debugging when Programming in Pascal , 1990, Int. J. Man Mach. Stud..

[8]  L. Gugerty,et al.  Debugging by skilled and novice programmers , 1986, CHI '86.

[9]  John R. Anderson,et al.  Debugging: An Analysis of Bug-Location Strategies , 1987, Hum. Comput. Interact..

[10]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[11]  Andreas Zeller,et al.  Why Programs Fail: A Guide to Systematic Debugging , 2005 .

[12]  Damianos Karakos,et al.  Finding a Needle in a Haystack , 2007, 2007 41st Annual Conference on Information Sciences and Systems.

[13]  Axel Böttcher,et al.  Debugging students' debugging process , 2016, 2016 IEEE Frontiers in Education Conference (FIE).

[14]  Robert McCartney,et al.  Common sense computing (episode 4): debugging , 2008, Comput. Sci. Educ..

[15]  Susanne E. Hambrusch,et al.  Introducing computational thinking in education courses , 2011, SIGCSE.

[16]  Michael C. Loui,et al.  Debugging: from novice to expert , 2004, SIGCSE '04.

[17]  Sue Fitzgerald,et al.  Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers , 2008, Comput. Sci. Educ..

[18]  John R. Anderson,et al.  A model of novice debugging in LISP , 1986 .