CMU-ISR-20-115D Institute for Software Research School of Computer Science, Carnegie Mellon University
The Essence of Program Semantics Visualizers:
Josh Pollock*, Grace Oh**, Eunice Jun+, November 2020
This paper was presented at PLATEAU 2020: A program semantics visualizer (PSV) helps illuminate a language's semantics by explaining the runtime execution of programs. PSVs are often used in introductory programming (CS1) courses to help introduce a notional machine, an abstraction of the computer that executes the language. But what information should PSVs present to fully explain such notional machines? In this paper we propose a three-axis model to assess the design of PSVs that visualize execution traces. PSVs should help users by clearly answering three questions: What is the machine's cofiguration at each execution step? Why did an execution step take place? How did an execution step change the machine's configuration? We demonstrate our model's utility for assessing PSVs by explaining why, in actual classroom use, instructors have resorted to manually extending Python Tutor's visualizations.
21 pages
*Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, MA
| |
Return to:
SCS Technical Report Collection This page maintained by reports@cs.cmu.edu |