Vis enkel innførsel

dc.contributor.advisorSharma, Kshitij
dc.contributor.authorLindberg, Sander Bjerklund
dc.date.accessioned2022-10-07T17:31:47Z
dc.date.available2022-10-07T17:31:47Z
dc.date.issued2022
dc.identifierno.ntnu:inspera:112296943:21513744
dc.identifier.urihttps://hdl.handle.net/11250/3024710
dc.description.abstractSiden programmering, kodefeilsøking og kodeforståelse er kognitive prosesser, kan det være vanskelig for en person å skjelne sin nøyaktige tankeprosess for å lære bort hvordan de selv løser oppgaver til andre. Gjennom bruk av eye-trackere har forskere funnet en måte å visualisere disse kognitive prosessene. Videre har de identifisert forskjeller i hvordan eksperter og nybegynnere løser problemer. Denne masteroppgaven undersøker effekten av å visualisere en ekspertprogrammerers kognitive kodeforståelse og feilsøkingsprosess ved bruk av øyesporing, som grunnlag for å lære nybegynnere hvordan de skal forstå og feilsøke kode. Dette har blitt gjort gjennom utførelse av en studie med 32 nybegynnere i programmering, som for tiden studerer innenfor datateknologi. Til å begynne med ble et system for presentasjon av kodebiter og blikk laget i React.js og Node.js. Deretter ble en eksperts blikk sporet mens de fullførte et sett med kodeproblemer. Senere fullførte de 32 nybegynnerene de samme kodeproblemene, hvor halvparten av deltakerne hadde muligheten til å se ekspertens blikk på skjermen og kodesnutter side ved side mens de løste problemene. I tillegg til å bli delt inn i en kontrollgruppe og en hjelpegruppe, ble deltakerne delt inn i ekspertise- og prestasjonsgrupper for å utforske effekten av ekspertens blikk. Resultatene av analysen viste ingen signifikante forskjeller mellom gruppen som ble utsatt for ekspertens blikk og gruppen som ikke ble eksponert, med hensyn til skår på problemene. Dessuten viste resultatene ingen signifikant forskjell mellom deltakerene, med hensyn til antall fikseringer på linjer med feil, eller fikseringsvarigheten på dem. Resultatene viste imidlertid en signifikant forskjell mellom deltakerne med hensyn til oppgavetid og fikseringsavstand til meningsfulle områder i koden.
dc.description.abstractAs programming, code debugging, and code comprehension are cognitive processes, it may be difficult for an individual to discern their exact thought process in order to teach others. Through the usage of eye-trackers, researchers have found a way to visualize these cognitive processes. Furthermore, they have identified differences in how experts and novices solve problems. This thesis investigates the effect of visualizing an expert programmer's cognitive code comprehension and debugging process through eye-tracking as a basis for teaching novices how to comprehend and debug code. This has been done through the execution of a study with 32 novice programmers currently studying computer science. At first, a system for presenting code snippets and eye-gaze was created in React.js and Node.js. Then, an expert's eye-gaze was recorded while they completed a set of code problems. Later, the 32 novices completed the same problems, with half of the participants able to see the expert's eye-gaze and code snippets side-by-side while solving the problems. In addition to being split into a control group and a help group, participants were split into groups of expertise and performance to investigate the effect of the expert's eye-gaze. The analysis results showed no significant differences between the group exposed to the expert's eye-gaze and the group not exposed regarding scores on the problems. Moreover, the results showed no significant difference in number of fixations on lines with bugs, nor the fixation duration on them, among the participants. However, the results did show a significant difference between participants concerning task time and fixation distance to meaningful areas in the code.
dc.languageeng
dc.publisherNTNU
dc.titleExposing novice programmers to an expert's eye-gaze
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel