Help for the Teaching Machine.

Loading programs.

Commands to specific subwindows.

Source Code Subwindow

Execute the next expression in this subroutine.

Execute the next expression.

Execute to the end of this subroutine.

Execute until the line the cursor is on or until the program terminates.

Restart the program.

Expression Engine Subwindow

Execute one step.

Undo last command..

Stack, Static, Heap, and Scratch Subwindows

Display one line per variable..

Display one line per byte.

Display values in hexadecimal.

Box & Arrow View Subwindow

Display stack variables along left border.

Display static variables along the left border.

Window manipulation.

All subwindows can be moved, resized, or brought to the front, though it sometimes takes a few tries to get the mouse in just the right spot.

All subwindows can be maximized, minimized, or closed. Once closed, they are gone until a file is opened.

Exiting the teaching machine.

If you are running the Teaching Machine as an applet, do not try to exit it by clicking on the x in the upper right corner.

Security restrictions.

If you ask the applet to do something that, because of a security restriction, it can not do, a window will pop up to tell you so. Typically you may not exit (exiting would shut down your web browser, which, while not a security problem, is annoying) nor load a local file.

Trouble Shooting.

Unfortunately the Java slogan of write-once, run-anywhere remains an unattained ideal. Here are some of the problems we know about.

The Language Accepted by the Teaching Machine

This release supports only C++, and then only a subset of C++, so your perfectly valid C++ program may cause the Teaching Machine to complain.

Furthermore, the Teaching Machine makes only the spottiest attempt to certify that your code is valid C++ before executing it. We recommend compiling all examples, with a real compiler, prior to running them on the Teaching Machine.

There is no good documentation of the supported subset yet. However a description of the syntax accepted by the parser is available in EBNF form here.

Bugs and wishes

A list of known bugs and suggested improvments for the current version of the teaching machine is listed here.

Send reports of bugs and suggested improvements to