Snapdown: A Text-Based Snapshot Diagram Language for Programming Education
Name
Whatley-dwhatley-meng-eecs-2021-thesis.pdf
Description
Thesis PDF
Size
2.55 MB
Format
Adobe PDF
Checksum (MD5)
d955211a15f1ab9370bbe0c9b002a310
Author(s)
Whatley, Daniel
Advisor(s)
Goldman, Max
Date Issued
June 2021
Publisher
Massachusetts Institute of Technology
Abstract
Snapshot diagrams, which visualize in-memory program state, are frequently used in programming education to demonstrate new concepts and help students develop a better understanding of program functionality. This thesis introduces Snapdown, a textual language for drawing snapshot diagrams, designed for use by both students and instructors of programming courses. Snapdown is designed with an emphasis on learnability and simplicity: both to be picked up by students in a classroom setting in a matter of minutes, and to enable creation and maintenance of diagrams in instructional content with minimal overhead. I introduce several use cases of Snapdown and describe the design and features of its textual language. I also describe a deployment of Snapdown during two semesters of emergency remote teaching in MIT software engineering course 6.031 Software Construction, in which students used it to complete pre-class reading exercises and in-class collaborative exercises. Finally, I demonstrate that Snapdown is generally applicable by using it to replicate over 100 diagrams from introductory- and intermediate-level courses at a variety of institutions.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright MIT
Persistent DSpace Link