Introduction

When you sit down to write an AV, you will face a number of important decisions: What language do you write it in? Do you use one of the many available Toolkits? Do you make it web-based or executable? Do you even want to make a visualization? Maybe a presentation would actually be better for your purpose. The choices you make will impact the ease of implementation, your ability to maintain the project, and most importantly, the educational value of your visualization.

We have developed these pages after examining many existing visualizations and reflecting on our own development experience. We discuss tools and the development process. We identify features of an AV that affect the educator and the learner.L

First Questions to Ask Yourself

Why create an algorithm visualization? There is a lot of information that can be conveyed in presentation mode using static images and text. An algorithm visualization has two major advantages over a static presentation:

  1. An algorithm visualization (or an animation) can get across a dynamic process.
  2. An algorithm visualization can proactively involve the learner.

Thus, your visualizations should attempt to take advantage of these key differences from static visualizations. Make them as dynamic and interactive  as you possibly can.

Algorithm visualizations can be created for one or more specific purposes. When designing your visualization, you should keep in mind what you intend it to be used for. Typical uses are:

  1. Used by an instructor as part of a lecture or presentation
  2. Supplement to a textbook or other static presentation
  3. Primary learning source for concepts
  4. Primary learning source for algorithm or data structure operational details
  5. Validator for another implementation (input data and see the correct result)