TM Home Page

Software Tools for Teaching and Learning

This is the home for the Teaching Machine and WebWriter++.

The Teaching Machine

The Teaching Machine is an interactive program animation system. It designed to show students what's happening inside the computer as programs execute.It has been used as an aid to teach programming in the Faculty of Engineering at Memorial since 1999, with very positive results. The Teaching Machine is bilingual; it interprets C++ or Java. See the Teaching Machine pages for further details or

try the TM now!

The Teaching Machine now supports Programmer Defined Visualizations for algorithm animation. See the PDV Cookbook for more information.

The Teaching Machine can be used on the web, stand-alone, or as an Eclipse plugin.


Where the Teaching Machine is aimed at students, WebWriter++ is written for instructors. It's a small authoring system designed to help instructors create interactive web pages for teaching computer programming with as little fuss as possible. Originally written to solve the problem of presenting programs on the web, it now contains a host of small convenience tools that make for more effective presentation of programming material, whether in the classroom, in printed notes or over the web. By design, it is coupled closely to the Teaching Machine so that the two tools should be viewed as a pair. See the webWriter++ pages for further details.

Sample Course

These are reference versions of the interactive, web-based lecture notes for three of our courses. They have been developed over many years and demonstrate virtually every technique we have found for using webWriter++ and the TM. See the courses page for further details.

Tutorial Pages

These are a few advanced tutorials intended for instructors interested in developing their own visualization plugIns..