ALGAE  - Algorithm Animation Engine

ALGAE is a framework for quick construction of algorithm animations. ALGAE is aimed at computer science instructors who, like myself, use projectors to display computer video output in the classroom or who teach web-based courses in programming and data structures.

ALGAE  allows the instructor to take typical Java code from a course's textbook or lecture notes and, with relatively little effort, produce an "animated" version of that code. These animations will show the data as it is being manipulated by the code. A listing of the algorithm source code is synchronized with the animation. Because these animations are "live", students can interact with the algorithm, supplying their own input data values and watching the resulting calculation.

Animations can run continuously or can pause at instructor-selected breakpoints. At each breakpoint, the instructor decides what variables should be drawn, what text to display in the status line, and if desired, how to use color and other cues to highlight the more instructive portions of the data. Although ALGAE  can only animate Java code, the instructor can manipulate the synchronized listing to "fake" the animation of equivalent code in any language such as C++ or even pseudo-code.

The picture on the right shows a typical animation in progress. AlgAE animation

ALGAE 's goal is to let an instructor quickly animate code obtained from the course's textbook, and to display these animations in a classroom setting (relatively few objects on the screen, but drawn large enough to be visible in a large classroom) or embed them into a web page.

Downloads

Version 4.2

Demos

Instructions

You do not need the AlgAE source code to run the animations. You will need a Java Runtime Environment (JRE) or Development Kit (JDK) version 11 or later. Get them here.
  1. Click the links below to download a .jar file into a convenient folder.
  2. On Windows or MacOS, you should be able to launch the animation by double-clicking the .jar or by opening it from the downloads bar of your browser.
  3. Use the Algorithm menu to select the desired algorithm.

    (Tip: when creating data structured, keep them small. You will be stepping through the algorithms in fine detail.)

  4. Use the "step" button to advance the algorithm and pause. Or use the "play" button to advance continuously. The "pause" button can be used to stop a running animation.
  5. If you find the display is too hopelessly tangled, you can use your mouse to drag the objects to more appropriate positions whenever you are paused within a running algorithm.

The Demos

These are being converted to the latest version of AlgAE. The list will grow as mroe conversions are completed.

Email me at zeil@cs.odu.edu