Chairperson, Graduate Committee: Rockford RossPatton, Samuel Dellette2015-05-122015-05-121989https://scholarworks.montana.edu/handle/1/7125The teaching of computer programming contains aspects that are found in few other disciplines. The mixture of syntactic and semantic knowledge required for programming is enough to overwhelm many beginning students. An earlier attempt at addressing this problem resulted in a software system called DYNAMOD. DYNAMOD is a library of expertly constructed Pascal programs and an interpreter that displays the execution of these programs on a computer video terminal in a step by step fashion under user control, effectively demonstrating the dynamics, or meaning, of a program. As a "proof of concept" system, DYNAMOD is quite successful, but it suffers from several limitations. In recognition of both the successes and limitations of DYNAMOD, it was decided to begin afresh and design an entirely new, much more ambitious system. The basis of this system is a virtual machine called the E-Machine which provides a very flexible structure for displaying the dynamic aspects of algorithms without distracting the student with syntactic details. The design of the E-machine is the primary work of this thesis. Important new features incorporated into the E-machine include, among others, internal structures which allow forward and backward execution of instructions and simple implementation of value and reference parameters. The E-machine will eventually form the basis of a comprehensive hypertext system for teaching and learning programming and other fundamental concepts of computer science.enVirtual computer systemsComputer programmingComputers--Study and teachingComputer-assisted instructionThe E-machine : supporting the teaching of program execution dynamicsThesisCopyright 1989 by Samuel Dellette Patton