23.1 System Overview

Animated Algorithms [Glo93] is intended to be used to complement a conventional textbook for the "Introduction to Algorithms" course. It assists in the understanding of core concepts, like the O- and [[Omega]]- Notation, and the comprehension of advanced subjects, like Fibonacci-Heaps. The algorithm animations can be used either for classroom teaching, or for the individual to study new algorithms and deepen the understanding of known ones. The hypertext part provides individual access to a vast reference book covering the whole field of algorithms.

The system has been implemented on the Macintosh. As multimedia authoring system we used HyperCard [Win90]. Apple's digital video architecture QuickTime(TM)[App91] allowed to integrate digital video segments into our multimedia documents without needing additional hardware.

The goal of Animated Algorithms is to offer an integrated hypermedia learning environment for computer science algorithms. It contains three complementary components: A full hypertext version of the book "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest [Cor90], interactive animations of the most important algorithms, and movies explaining the use of the hypertext interface and the animations.


Figure II.5 Screen dump of "Animated Algorithms"

The screen dump in figure II.5 displays the main components of Animated Algorithms: the window in the lower right corner shows a "talking head" digital movie explaining the features of the algorithm, the top half of the screen depicts an animation of the "Huffman Tree" algorithm, and in the background there is some hypertext visible which explains the fundamentals of "Huffman Trees".

The hypertext, including the figures, is stored in HyperCard stacks. It contains tools for instructors and students to facilitate navigation, text annotation, tracking of preexisting links, full-text search, and the adding of links and paths through the document. The algorithm animations which are implemented in HyperCard are linked with the hypertext and can be controlled interactively by the user. They also include extensive on-line help to make them self-contained. Some animations include scripting facilities allowing users to program animations of specific data structures. The movies, ("talking heads" and demonstrations) provide a way to view non-interactive versions of the algorithm animations.

The hypertext, consisting of 1850 text nodes and figures, is implemented in HyperCard stacks. It contains tools for navigation, text annotation, tracking of pre-existing links, full-text search, and the adding of links and "paths" through the document. Innovative hypertext concepts first explored in Animated Algorithms are described in chapters 13-15.

The animations, which are implemented in HyperCard, are linked with the hypertext and can be controlled interactively by the user. This interactivity not only includes the ability to single-step through the pseudocode, but also (in certain animations) the ability to choose initial conditions and the specification of assumptions which the algorithm makes, enabling the user to affect the action of the algorithm. Some animations include scripting facilities allowing users to program animations of specific data structures. Animations also include extensive on-line help, making them self-contained.