Chris McDonald and Matthew Heinsen Egan
Communicating using Program Traces

Supported by the growth of embedded devices, the IoT, and modern standardization, C remains an important language for undergraduate students. However, when presented to relatively inexperienced programmers, its very limited runtime support is a source of frustration for both students and educators, alike.

SeeC is a novice-focused tool for the C programming language that displays and records the execution of programs, detects runtime errors, and enables students to review their programs' data and execution history. Students can deterministically replay a program, and reason backwards from a runtime error to determine its true cause. The approach can lead to students' reduced frustration and greater understanding of program behaviour.

This presentation provides a brief overview of SeeC and a discussion on how its program traces provide an opportunity for students to communicate their questions and misunderstandings with educators, and for educators to provide examples and debugging challenges to students.

Paper