An eye tracking study assessing the impact of background styling in code editors on novice programmers' code understanding
Background and Context: The designers of programming editors aimed at learners have long experimented with different styles of code presentation. The idea of \textit{syntax} highlighting – coloring specific words – is very old. More recently, some editors (including text-, frame- and block-based editors) have added forms of \textit{scope} highlighting – colored rectangles to represent programming scope – but there have been few studies to investigate whether this is beneficial for novices when reading and understanding program code.
Objectives: We investigated whether the use of scope highlighting during code comprehension tasks (a) has an impact on where users focus their gaze, (b) affects the accuracy of user’s responses to tasks, and/or (c) affects the speed of user’s correct responses to the tasks.
Method: We conducted a controlled trial with a crossover design, where all participants completed the same twelve code comprehension tasks, each performed in one of three scope highlighting conditions. The conditions were (a) ``plain'' Java with no scope highlighting, (b) Java with BlueJ’s scope highlighting, and (c) Stride, a frame-based language very similar to Java. We used a combination of eye-tracking hardware and video observation to record where users were looking in the code, the time it took them to answer the task, and the graded correctness of their answer. The data comes from students at two institutions in different countries.
Findings: We found that there was no difference between plain Java, highlighted Java or Stride in terms of correctness, or speed to produce correct answers – and this was unaffected by whether users had seen the latter two interfaces before. There was a difference in eye gaze behavior, especially between Stride and the two Java interfaces, where their gaze moved around less with Stride, which could imply a higher cognitive load.
Implications: The highlighting conditions showed a difference at the low-level of gaze behavior, but this did not translate into a difference at the higher level of program comprehension task performance. The gaze behavior difference could be due to the novelty of the design of the Stride interface \textit{other than} the scope highlighting (which showed no such difference when present/not present in the Java display). However, it seems that large changes in the presentation of the program code have only a small (if any) effect on task performance.
Thu 10 AugDisplayed time zone: Central Time (US & Canada) change
13:00 - 14:15 | |||
13:00 25mTalk | Say What You Meme: Exploring Memetic Comprehension Among Students and Potential Value of Memes for CS Education Contexts Research Papers Briana Bettin Michigan Technological University, Andrea Sarabia Michigan Technological University, Maritza Chiolino Gonzalez Michigan Technological University, Isabella Gatti Michigan Technological University, Chethan Magnan Michigan Technological University, Noah Murav Michigan Technological University, G. Vanden Heuvel Michigan Technological University, Duncan McBride Michigan Technological University, Sophia Abraham Michigan Technological University | ||
13:25 25mTalk | "I Don’t Gamble To Make My Livelihood": Understanding the Incentives For, Needs Of, and Motivations Surrounding Open Educational Resources in Computing Research Papers Max Fowler University of Illinois, David Smith University of Illinois at Urbana-Champaign, Binglin Chen University of Illinois, Craig Zilles University of Illinois at Urbana-Champaign | ||
13:50 25mTalk | An eye tracking study assessing the impact of background styling in code editors on novice programmers' code understanding Research Papers Kang-il Park University of Nebraska-Lincoln, Pierre Weill-Tessier King's College London, Neil Brown King's College London, Bonita Sharif University of Nebraska-Lincoln, USA, Nikolaj Jensen King's College London, Michael Kölling King's College London |