The Teaching Machine is a program animation system for Java and C++ programs.
"Effortless Animation"
It runs as an application or as an Applet.
- Control
- Subroutine- / Statement- / Operator-at-a-time stepping
- Hence multiple levels of abstraction
- Unlimited undo
- Subroutine- / Statement- / Operator-at-a-time stepping
- Visualization of
- Source Code
- Expression Evaluation
- Stack / Heap / Static Memory
- With multiple levels of abstraction
- Symbol table
- Interactive console I/O
It provides multiple views into memory.
It exposes the implicit. For example conversions, constructor calls, destructor calls.
Coverage:
- Most of C++ (but not exceptions —yet— nor templates)
- Most of Java 1.4 (but not multithreading)
- C++ and Java libraries are currently rather limited