Show simple item record

Using Program Visualization to Illuminate the Notional Machine.

dc.contributor.authorJuett, James A.
dc.date.accessioned2016-06-10T19:32:41Z
dc.date.availableNO_RESTRICTION
dc.date.available2016-06-10T19:32:41Z
dc.date.issued2016
dc.date.submitted
dc.identifier.urihttps://hdl.handle.net/2027.42/120844
dc.description.abstractProgramming is an essential skill in computing and engineering fields, but many students are not competent programmers even after completing initial programming courses. They have difficulty writing correct code, and the skills they develop often turn out to be fragile and do not generalize well to dealing with new problems. A key contributor to this issue is the lack of "hands on" experience with the notional machine - the conceptual computer on which their programs run. For many students, the computer is essentially a black-box, and at best they receive very indirect feedback about what each part of their code actually does at runtime. We attack this problem using interactive program visualization, which illuminates the notional machine and empowers students to have meaningful, hands-on experiences with what their own code actually does at runtime. In this dissertation, we investigate design choices that go into creating a program visualization tool to best support this approach. In particular, we explore which conceptual models should be presented for expression evaluation and subcall execution, what navigation controls should be offered, and how to provide feedback when problems occur at runtime. The contributions of this work are novel solutions to these questions and a large-scale empirical study in an authentic educational setting that gives evidence they are effective. We also present Labster, a web-based C++ program visualization system, which brings together our innovations as well as successful techniques from the previous literature into a working ensemble. Labster has proven effective as both an educational tool and a platform for program visualization research.
dc.language.isoen_US
dc.subjectInteractive Program Visualization
dc.subjectThe Notional Machine
dc.subjectProgramming Education
dc.titleUsing Program Visualization to Illuminate the Notional Machine.
dc.typeThesisen_US
dc.description.thesisdegreenamePhD
dc.description.thesisdegreedisciplineComputer Science and Engineering
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studies
dc.contributor.committeememberEssl, Georg
dc.contributor.committeememberQuintana, Christopher Lee
dc.contributor.committeememberAckerman, Mark Steven
dc.contributor.committeememberDeorio, Andrew Whitehouse
dc.subject.hlbsecondlevelComputer Science
dc.subject.hlbtoplevelEngineering
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/120844/1/jjuett_1.pdf
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.