Massachusetts Institute of Technology
Snapdown: A Text-Based Snapshot Diagram Language for Programming Education
Abstract
dc:description.abstractSnapshot 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.
Degree
thesis:*- Name thesis:degree_name
- Master
- Department dc:contributor.department
- Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
- Grantor dc:publisher
- Massachusetts Institute of Technology
- Year dc:date.issued
- 2021
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Whatley, Daniel
- Advisor dc:contributor.advisor
-
- Goldman, Max
Rights
dc:rights- Statement dc:rights
-
- In Copyright - Educational Use Permitted
- Copyright MIT
- Licence dc:rights.uri
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/1721.1/139282
- OAI identifier oai:identifier
- oai:dspace.mit.edu:1721.1/139282