On Students' Usage of Tracing for Understanding Code

Mohammed Hassan, Craig Zilles

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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.

Original languageEnglish (US)
Title of host publicationSIGCSE 2023 - Proceedings of the 54th ACM Technical Symposium on Computer Science Education
PublisherAssociation for Computing Machinery
Pages129-135
Number of pages7
ISBN (Electronic)9781450394314
DOIs
StatePublished - Mar 2 2023
Event54th ACM Technical Symposium on Computer Science Education, SIGCSE 2023 - Toronto, Canada
Duration: Mar 15 2023Mar 18 2023

Publication series

NameSIGCSE 2023 - Proceedings of the 54th ACM Technical Symposium on Computer Science Education
Volume1

Conference

Conference54th ACM Technical Symposium on Computer Science Education, SIGCSE 2023
Country/TerritoryCanada
CityToronto
Period3/15/233/18/23

Keywords

  • explain in plain english
  • think-aloud
  • tracing

ASJC Scopus subject areas

  • Education
  • General Computer Science

Fingerprint

Dive into the research topics of 'On Students' Usage of Tracing for Understanding Code'. Together they form a unique fingerprint.

Cite this