Explain in Plain English (EiPE) questions evaluate whether students can understand and explain the high-level purpose of code. We conducted a qualitative think-aloud study of introductory programming students solving EiPE questions. In this paper, we focus on how students use tracing (mental execution) to understand code in order to explain it.
We found that, in some cases, tracing can be an effective strategy for novices to understand and explain code. Furthermore, we observed three problems that prevented tracing from being helpful, which are 1) not employing tracing when it could be helpful (some struggling students explained correctly after the interviewer suggested tracing the code), 2) tracing incorrectly due to misunderstandings of the programming language, and 3) tracing with a set of inputs that did not sufficiently expose the code’s behavior (upon interviewer suggesting inputs, students explained correctly). These results suggest that we should teach students to use tracing as a method for understanding code and teach them how to select appropriate inputs to trace.
Thu 16 MarDisplayed time zone: Eastern Time (US & Canada) change
10:45 - 12:00 | |||
10:45 25mPaper | On Students' Usage of Tracing for Understanding CodeIn-Person Papers Mohammed Hassan University of Illinois at Urbana-Champaign, Craig Zilles University of Illinois at Urbana-Champaign DOI | ||
11:10 25mPaper | Improving Long Term Performance Using Visualized Scope Tracing: A 10-Year StudyIn-Person Papers DOI | ||
11:35 25mPaper | Stream Your Exam to the Course Staff: Asynchronous Assessment via Student-Recorded Code Trace VideosIn-Person Papers Rachel S. Lim University of California San Diego, Joe Gibbs Politz University of California at San Diego, Mia Minnes UC San Diego DOI |