23.3 The Animation System

We defined a simple uniform framework for all animations with each algorithm animation having an animation window and an algorithm window (figure II.6).


Figure II.6 Basic animation screen layout

The algorithm window shows the code for whatever algorithm is currently in progress. The current line of the code (that is, the line being animated) is highlighted to emphasize which part of the algorithm is currently running. We employ a VCR type controller (see figure II.6) as the basic user interface metaphor for all of the algorithms. Frequently, this controller is augmented by buttons emphasizing the main steps of an algorithm. This interface allows for a better in-depth understanding of the algorithm. Obviously, these extra commands are sometimes difficult to define or even inappropriate, and can only be applied if the algorithm lends itself well to substructuring.

Our goal is not to produce a monolithic collection of algorithm animations, but to implement an integrated learning environment. Because each topic should be self contained, it has its own, hierarchically structured overview map. Figure II.7 shows the overview map for the hashing animations.


Figure II.7 Overview map for hashing chapter

The overview map presents all options currently available. In figure II.7 the student has the following possibilities:

Figure II.8 shows the help card for the options menu. It illustrates our efforts to offer extensive on-line help making animations as self explaining and easily usable as possible.


Figure II.8 Help card for options menu