Investigating how debugging tools can be used to improve programming teaching systems and ease the transition to traditional programming
Abstract
Denne masteroppgaven undersøker rollen til debugging i læring av programmering til nybegynnere. Den utforsker om tradisjonelle debuggingsverktøy kan implementeres i moderne programmerings-læringssystemer for å forbedre deres effekt og letteregjøre overgangen til tradisjonell programmering.Et blokkbasert programmerings-læringssystem ble utviklet fra grunnen, spesifikt designet for å gjennomføre et kvasieksperiment med statisk gruppesammenligning. Resultatene viste at tradisjonelle debuggingsverktøy ikke påvirket graden av «tinkering», kodeforståelsen eller den generelle ytelsen til programmererne. De viste også at hensikten med både debuggeren og spillgrafikken er å hjelpe programmereren å forstå kjøringen av programmet, men når tilgjengelig, var spillgrafikken foretrukket. Dette førte til konklusjonen om at å implementere en gradvis overgang fra spillgrafikk til en tradisjonell debugger i læringssystemer kan være like viktig for å letteregjøre overgangen til tradisjonell programmering som en gradvis overgang fra blokkbasert til tekstbasert programmering, som er hovedfokuset til forskningen i dag. This master’s thesis investigates the role of debugging when teaching programming to novices. It explores if traditional debugging tools can be implemented in modern programming teaching systems to improve their effectiveness and ease the transition to traditional programming. A block-based programming teaching system was developed from the ground up, specifically designed to conduct a quasi-experiment with a static group comparison. The results showed that traditional debugging tools does not affect the amount of tinkering, code understanding or general performance of the programmers. They also showed that the purpose of both the debugger and game graphics is to aid the programmer in understanding the execution of the program, but when available, the game graphics is preferred. This led to the conclusion that implementing a gradual transition from game graphics to a traditional debugger in teaching systems might be just as important for easing the transition to traditional programming as a gradual transition from block-based to text-based programming, as is the main focus of most research today.