Theses

The theses resulting from the Webworks Laboratory are made available here in PDF format.  If you would like to see the faces that go with the names, please visit our Rogues Gallery.

 

Patton, Samuel Dellette

The E-Machine: Supporting the Teaching of Program Execution Dynamics

Part 1   Part 2

Master's thesis - Department of Computer Science
Montana State University - Bozeman
June 1989


This is the first of the Master's theses in the Webwoks project (the old DynaLab project). In it, the initial design of a virtual computer, called the E-machine, is presented. The objective of the E-machine was to provide a virtual computer capable of executing its instruction set both forwards and in reverse, a highly desirable capability for teaching and learning programming concepts. The E-machine has undergone numerous modifications in the later theses, so for those interested in its design, the theses by Eneboe and Pratt may be more appropriate.

Patton's thesis was initially done using the ptroff program available under some Unix systems. Unfortunately, ptroff is no longer available at our local site, so the thesis was reformatted using groff in order to obtain a PostScript version which was then converte to PDF. The version posted here is thus not quite properly formatted (the figures are garbled), but the thesis should be readable for anyone desiring to do so. As noted, the work of this thesis is largely superseded by the later theses in any case.

 

Birch, Michael Leigh

An Emulator for the E-Machine

Master's thesis - Department of Computer Science
Montana State University - Bozeman
June 1990


This thesis is the second in the DynaLab project. For his thesis, Birch implemented an emulator in C for the E-Machine. In the process, he also made some changes to the design of the E-Machine itself. Later theses made even more design changes to the E-Machine and may be more appropriate for those interested in the E-Machine.

Birch used an early version of WordPerfect for his thesis. A PostScript version was generated from WordPerfect 5.1 and then converted to PDF. As noted, the later theses contains more up-to-date information about the E-Machine.

 

 

Goosey, Frances Wren

A MiniPascal Compiler for the E-Machine

Master's thesis - Department of Computer Science
Montana State University - Bozeman
April 1993


This thesis resulted in the first compiler for the E-Machine. The compiler implemented a subset of Pascal and was successful in demonstrating that the E-Machine could indeed execute a compiled program both forwards and backwards. The compiler broke new ground in that it had to successfully keep track of the Pascal "animation units" that corresponded to "packets" of E-machine code so that future animators could highlight the proper Pascal source code corresponding to what the E-Machine was currently executing. Compiling for animation and reverse execution thus requires a number of data structures and "hooks" not necessary in normal compilers. In the process of implementing the compiler, Goosey had to make further modifications to the E-machine.

Goosey's thesis contains information that is still useful for an understanding of compiling for reverse execution and animation, but it is now largely out of date. Since graduating, she has remained with the Webworks project as a Research Scientist and now has a nearly complete ISO standard Pascal compiler with a few Turbo Pascal extensions. Various data structures associated with the compiler have changed in the meantime as well.

Goosey's thesis was done in LaTeX.  A Postscript was generated, from which a PDF version was produced.

 

 

Poole, David Keith

An Ada/CS Compiler for the E-Machine

Master's thesis - Department of Computer Science
Montana State University - Bozeman
July 1994


This thesis is similar to the one by Goosey in that a new compiler for the E-Machine was written. The compiler was for a small subset of Ada defined in the book Crafting a Compiler by Fischer and LeBlanc. Poole had the advantage of Goosey's ground breaking work. Nonetheless, the features of Ada required new compiling innovations as well as improvements to the E-Machine.

The Ada/CS compiler is now out of date, because changes have been made to the E-machine and animators since Poole graduated. 

Poole's thesis was written in LaTeX, from which a Postscript and, finally, a PDF version was created.

 

 

Pratt, Craig Mathew

An OSF/Motif Program Animator for the DynaLab System

Master's thesis - Department of Computer Science
Montana State University - Bozeman
May 1995


Pratt's thesis resulted in the first animator for the DynaLab project. The E-machine and compilers are of no use without a graphical user interface for animating source programs under control of the user. Pratt's animator worked on Unix systems with Motif. It needed some work to run under more recent releases of Motif, but it functioned very well in an X-Window environment.  With the advent of the World Wide Web and the platform independence of Web browsers, work was focused in this direction, and the X-window (platform dependent) version was no longer supported.  Later work by Chris Boroni as part of his PhD thesis (not yet completed) led to a Microsoft Windows version of the animator, and then to a Java version that runs in standard Web browsers.  This is the version currently supported.

Pratt's thesis was written in LaTeX.  A PDF version is supplied here.

 

 

Eneboe, Torlief James

An ANSI C Compiler for the E-Machine

Master's thesis - Department of Computer Science
Montana State University - Bozeman
June 1995


Eneboe's thesis laid the groundwork for a C compiler for the E-Machine. Eneboe completed a PCCTS grammar for C and implemented a number of C features in his compiler. Modifications had to be made to the E-Machine to handle some aspects of C. At this point there are no plans to extend this work, and there is no version that runs in the current Web-based environment.

Eneboe's thesis was written in LaTeX, from which a PDF file was created.