Coding Trails: Concise Representations of Student Behavior on Programming Tasks
Published 2021
Authors
Prof. Frank Vahid
University of California, Riverside; zyBooks A Wiley Brand
Prof. Roman Lysecky
University of Arizona
Dr. Bailey Alan Miller
University of California, Riverside; zyBooks A Wiley Brand
Lyssa Vanderbeek
zyBooks, A Wiley Brand
Abstract
CS instructors desire visibility into student programming behavior, such as seeing the days a student worked, the time spent, and the number of compiles/runs. Such visibility may help find struggling students, prevent or detect cheating, and provide insight into the effect of new policies like points for earlier starts. Such visibility historically has been severely limited due to student use of external tools. Today, many education-focused program auto-graders provide a cloud-based development environment that records much student behavior. Detailed logs are cumbersome to view, especially for large classes, but conversely, summary statistics like averages and standard deviations lose much useful information. This paper introduces the concept of a “coding trail” as an attempt to visually and concisely summarize a student’s coding behavior on a programming assignment. Our visual coding trail displays dates, each develop run, each submit run for auto-grading and score, and dramatic changes in code (often a sign of cheating). The coding trail is textual rather than graphical, allowing easy copy-paste, incorporation into spreadsheet gradebooks, and parsing by tools for further analysis, at the expense of some information loss. A version of our coding trail has been implemented in the zyBooks program auto-grader and appeared for over 2,000 courses and 130,000 students in 2020, with numbers growing. This paper introduces the coding trail, discusses various tradeoffs in its design, and points to a variety of uses.