Algorithm Animation and Measurement Toolkit

Supervisor: David Watt

Abstract

Algorithm animation is an effective way to illustrate the behaviour of algorithms in a visual fashion. It is equally suitable for use by the instructor in the classroom and for use by students in their own time.

To animate an algorithm, the instructor must first code it in a suitable programming language, then insert code to display the contents of selected variables. A good user interface is required, providing clear layout of the data, an indication of progress through the algorithm, and user control over progress (with options such as fast forward, single-step forward, even single-step backward).

Animating a single algorithm is a time-consuming task. Animating a whole group of algorithms is even more so; moreover, it can be difficult to ensure a consistent user interface.

The goal of this project is to design and implement a toolkit that speeds up the task of implementing algorithm animations. The instructor should be able to animate an already-coded algorithm simply by inserting calls to operations supported by the toolkit.

The toolkit should also facilitate the collection and display of measurements to illustrate the algorithm's efficiency.

Resources required

Software: Java, Ada, or other programming language with a GUI library.