Wed 9 Aug 2023 16:05 - 16:30 - Tracing Code

Code tracing involves simulating at a high level the actions the computer takes when executing a program. Given that students experience difficulties learning this fundamental skill, research is needed on how to effectively teach it. We report on two studies that investigate the pedagogical utility of various notional machine representations used to explain the mechanics of program execution. In study 1 (N = 44), we compared instruction using a concrete computer representation to an abstract table representation. In study 2 (N = 49), we tested if fading between representations improved learning over only providing one representation. The instruction in both studies was embedded in basic tutoring systems we implemented that served as testbeds for the present research. On average students did learn in each study, as evidenced by pretest to posttest gains, but the type of representation did not significantly affect learning;
Bayesian statistics provided substantial evidence for this null result. We discuss potential explanations for our findings and suggest future research directions.

Wed 9 Aug

Displayed time zone: Central Time (US & Canada) change

16:05 - 16:55
Tracing CodeResearch Papers

Session Chair: Kate Sanders

16:05
25m
Talk
Evaluating the Utility of Notional Machine Representations to Help Novices Learn to Code Trace
Research Papers
Veronica Chiarelli Carleton University, Nadia Markova Carleton University, Kasia Muldner Carleton University
16:30
25m
Talk
Evaluating Beacons, the Role of Variables, Tracing, and Abstract Tracing for Teaching Novices to Understand Program Intent
Research Papers
Mohammed Hassan University of Illinois at Urbana-Champaign, Kathryn Cunningham University of Illinois Urbana-Champaign, Craig Zilles University of Illinois at Urbana-Champaign