Algorithms and data structures lie at the core of modern computer science. Students and beginning programmers often find understanding the behaviour of algorithms and data structures difficult. Part of this may be due to the fact that both are highly dynamic structures, while their presentation is typically static - text and images.
Algorithm Animation and Visualization (abbreviated here as AAV) is a research field that focuses on the presentation of algorithms and data structures. One subfield also deals with complete programs ("Program Visualization"). The basic goal is to provide an easily understandable but accurate presentation of the chosen content's behaviour. For example, one animation could illustrate the behaviour of a Quicksort invocation on a specific set of data.
The difference between algorithm animation and algorithm visualization lies in how the dynamic behaviour is presented. Animations use smoothly animated transitions, for example showing "moving elements" when values are exchanged. Visualizations are more "static", for example showing only the state before and after values are exchanged.
The name AAV has been established several years ago and is still in common use, although it is often inaccurate. Apart from "algorithms", typical content also includes portraying data structures. Here, the content usually does not focus so much on the actual algorithms for inserting elements etc., but on the exhibited behaviour. For example, the viewer is expected to learn more about how a stack works than about the implementation of a stack.
The field of AAV deals with several interesting research problems, such as:
- Researching the differences between animation and visualization and their effect on learning outcomes. Does smooth animation help, hinder, or not affect the understanding of the portrayed content? In what cases is smooth animation useful, and when not?
- What makes up a "good" or "effective" AAV?
- What are the important design decisions in building a new AAV system?
- How is learning affected by incorporating AAV into "traditional" materials?
More information about AAV can be found in the other pages on this portal.