Features of the Webworks Program Animator

Given below is a list of features of the animator.  You can best learn about these features by exploring some animations yourself.

bullet
Pascal.  Currently the animator only animates Pascal programs.   This is because we have only completed a compiler for Pascal.  Years ago, when this project first got underway, Pascal was the primary teaching language.  The Webworks team has a Java compiler in the works.
bullet
Execution with a pause.  You can check a box in the animator that causes an extra pause during program execution.  The extra pause is for novices. 
bullet
The code to be executed is initially highlighted in red, letting the user know that execution is stopped, waiting for the user indication to proceed.  This gives the user time to try to ascertain what should happen when execution of the highlighted code occurs. 
bullet
After accepting the click, the animator executes the highlighted code and updates the view windows.  However, the same portion of the code is still highlighted, this time in green.  This gives the user a chance to see if what he or she thought should have happened really did happen
bullet
The green pause also gives the user an opportunity to try to determine where execution should proceed next (particularly helpful in loops, selection statements, and procedure and function calls and returns).
bullet
Clicking again causes the green highlighting to disappear and the next portion of code to be executed to be highlighted in red.
bullet
Execution without the special pause.  Once students are farther along, the red-green pauses are unnecessary.  Unchecking the pause box allows execution to proceed in the usual single step at a time.
bullet
Execution no pauses.  An option is present for allowing execution to proceed to the end without pauses of any kind, especially useful in time complexity experiments.
bullet
Execution cost counter.  An execution cost counter keeps track of the "cost" of execution to date as a measure of the number of underlying machine language statements that are executed.  This parameter allows for time complexity experiments.  The cost counter can be reset at arbitrary times to examine the time complexity of a particular structure (a loop, for example).
bullet
Step over call.  This option allows a procedure or function call to be executed in a single step.
bullet
Step over loop.  This option allows a loop to be executed in a single step.
bullet
Reset program.  An option is present to reset animation at the start of the program.
bullet
Forward/Backward.  Buttons are present to allow setting of execution and animation in the normal, forward direction or in the reverse, backward direction.   This unique feature is especially helpful when one is trying to understand some particularly puzzling section of a program or some new feature.
bullet
Library of programs.  The File pulldown menu provides for inclusion of as many well-designed programs as an instructor might desire to distribute to enhance student learning.
bullet
Help.  Help in running the animator is available on the top tool bar.

No Compiler Yet

The compiler has not yet been ported to the web.  At this point, programs must be compiled to E-machine code (the machine code of the virtual computer underlying the animator) on a different platform and included in the library of programs available in the animator.   Porting of the compiler is one of the current tasks of the Webworks team.