Introduction to algorithms
AnimalScript: an extensible scripting language for algorithm animation
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
A testbed for pedagogical requirements in algorithm visualizations
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom
VL '96 Proceedings of the 1996 IEEE Symposium on Visual Languages
Supporting the rapid development of pedagogically effective algorithm visualizations
Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
Seamless Merging of Hypertext and Algorithm Animation
ACM Transactions on Computing Education (TOCE) - Special Issue on the 5th Program Visualization Workshop (PVW’08)
Hi-index | 0.00 |
Computer algorithms commonly involve creation, reorganization or destruction of relations between objects. This means that they are generally excellent candidates for visualization for teaching purposes. For a student to comprehend all the ramifications of certain operations, several different concurrent displays are often required: as well as a visualization of the objects being manipulated by the algorithm, commentary, highlighted source code and various statistics are commonly required.This paper describes a strategy for rapidly building animations of algorithms: animations are driven from the source code of the algorithm itself by the addition of animation directives. These directives invoke routines from a toolkit which provides operations commonly needed to display objects and structures. By providing a standard approach to the creation of an animation, creating a new one becomes a straightforward process: many animations in the current collection have been produced by students in one semester courses.The supporting toolkit contains classes which, in addition to animating basic structure, provide many subsidiary displays - histograms, graphs, etc. which are updated as the algorithm runs. This toolkit has evolved following critical analysis of the features needed to allow easy comprehension of the animated algorithms, for example, a separate commentary area has been abandoned in favour of labels on the animation and 'history' panels have been added to permit simultaneous display of several steps in the algorithm, smaller improvements. Over several years, we have implemented a set of widely referenced algorithm animations commonly taught in data structures and algorithms courses available on the web.