Abstract
An algorithm animation (AA) visualizes the behavior of an algorithm by producing an abstraction of both the data and the operations of the algorithm. Initially it maps the current state of the algorithm into an image, which then is animated based on the operations between two succeeding states in the algorithm execution. Animating an algorithm allows for better understanding of the inner workings of the algorithm, furthermore it makes apparent its deficiencies and advantages thus allowing for further optimization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Baecker. Towards Animating Computer Programs: A First Progress Report. In Proceedings of the Third NRC Man-Computer Communications Conference, 1973.
R. Baecker. Sorting Out Sorting: A Case Study of Software Visualization for Teaching Computer Science. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 24, pages 369–381. MIT Press, Cambridge, MA, 1998.
R. Baecker (with assistance of Dave Sherman). Sorting out Sorting. 30 minute color film (distributed by Morgan Kaufmann Pub.), 1981.
Matthias Bäsken and Stefan Näher. GeoWin A Generic Tool for Interactive Visualization of Geometric Algorithms. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
Mordechai Ben-Ari, Niko Myller, Erkki Sutinen, and Jorma Tarhio. Perspectives on Program Animation with Jeliot. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
J. L. Bentley and B. W. Kernighan. A System for Algorithm Animation. Computing Systems, 4(1), Winter 1991.
R. Berghammer. KIEL: A Program for Visualizations of the Evaluation of Functional Programs (in German). In S. Diehl and A. Kerren, editors: Proceedings of the GI-Workshop “Software Visualization” SV2000, May 2000.
M. H. Brown. Algorithm Animation. MIT Press, 1987.
M. H. Brown. Exploring Algorithms with Balsa-II. Computer, 21(5), 1988.
M. H. Brown. Perspectives on Algorithm Animation. In Proceedings of the ACM SIGCHI’ 88 Conference on Human Factors in Computing Systems, pages 33–38, Washington D.C., May 1988.
M. H. Brown. ZEUS: A System for Algorithm Animation and Multi-View Editing. In Proceedings of the 1991 IEEE Workshop on Visual Languages, pages 4–9, Kobe Japan, October 1991.
M. H. Brown and J. Hershberger. Fundamental Techniques for Algorithm Animation Displays. In John T. Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization. MIT Press, 1998.
M. H. Brown and J. Hershberger. Program Auralization. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 10, pages 137–143. MIT Press, 1998.
M. H. Brown and M. Najork. Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom. In Proceedings of the 1996 IEEE International Symposium on Visual Languages, Boulder, CO, 1996.
M. H. Brown and M. A. Najork. Algorithm Animation Using 3DIn teractive Graphics. In Proceedings of the 1993 ACM Symposium on User Interface Software and Technology, pages 93–100, Atlanta, GA, November 1993.
M. H. Brown and M. A. Najork. Algorithm Animation Using Interactive 3DGraphics. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 9, pages 119–135. MIT Press, 1998.
M. H. Brown and M. A. Najork. Three-Dimensional Web-Based Algorithm Animations. Technical Report 170, Compaq Systems Research Center, July 2001.
M. H. Brown and R. Raisamo. JCAT: Collaborative Active Textbooks Using Java. In Proceedings of CompuGraphics’96, Paris, France, 1996.
M. H. Brown and R. Sedgewick. A System for Algorithm Animation. In Proceedings of ACM SIGGRAPH’84, Minneapolis, MN, 1984.
P. Carlson, M. Burnett, and J. Cadiz. A Seamless Integration of Algorithm Animation into a Declarative Visual Programming Language. In Proceedings Advanced Visual Interfaces (AVI’96), 1996.
A.I. Concepcion, N. Leach, and A. Knight. Algorithma 99: An Experiment in Reusability and Component-Based Software Engineering. In Proceedings of the 31st ACM Technical Symposium on Computer Science Education (SIGCSE 2000), pages 162–166, Austin, TX, February 2000.
K. C. Cox and G.-C. Roman. Abstraction in Algorithm Animation. In Proceedings of the 1992 IEEE Workshop on Visual Languages, pages 18–24, Seattle, WA, September 1992.
C. Demetrescu and I. Finocchi. A Technique for Generating Graphical Abstractions of Program Data Structures. In Proceedings of the 3rd International Conference on Visual Information Systems (Visual’99), LNCS 1614, pages 785–792, Amsterdam, 1999. Springer.
C. Demetrescu and I. Finocchi. Smooth Animation of Algorithms in a Declarative Framework. Journal of Visual Languages and Computing, 12(3):253–281, June 2001.
Camil Demetrescu, Irene Finocchi, and John Stasko. Specifying Algorithm Visualizations: Interesting Events or State Mapping? In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
H. L. Dershem and P. Brummund. Tools for Web-based Sorting Animations. In Proceedings of the 29th ACM Technical Symposium on Computer Science Education (SIGCSE 98), pages 222–226, Atlanta, GA, February 1998.
Eds.: S. Diehl and A. Kerren. Proceedings of the GI-Workshop “Software Visualization” SV2000 (in German). Technical Report A/01/2000, FR 6.2-Informatik, University of Saarland, May 2000. http://www.cs.uni-sb.de/tr/FB14.
S. Diehl, editor. Software Visualization, volume 2269 of LNCS State-of-the-art Survey. Springer Verlag, 2002.
S. Diehl and A. Kerren. Levels of Exploration. In Proceedings of the 32nd Technical Symposium on Computer Science Education, SIGCSE 2001, pages 60–64. ACM, 2001.
S. Diehl, A. Kerren, and T. Weller. Visual Exploration of Generation Algorithms for Finite Automata. In Implementation and Application of Automata, LNCS 2088, pages 327–328, 2001.
Stephan Diehl, Carsten Görg, and Andreas Kerren. Animating Algorithms Live and Post Mortem. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
R. A. Duisberg. Visual Programming of Program Visualizations. A Gestural Interface for Animating Algorithms. In Proceedings of the 1987 IEEE Computer Society Workshop on Visual Languages, pages 55–66, Linkoping, Sweden, August 1987.
P. Eades and K. Zhang, editors. Software Visualization. World Scientific Pub., Singapore, 1996.
M. Eisenstadt and M. Brayshaw. The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming. Journal of Logic Programming, 5(4):1–66, 1988.
S. Foubister. Graphical Application and Visualisation of Lazy Functional Computation. PhD thesis, Department of Computer Science, University of York, 1995.
Jaroslaw Francik. Algorithm Animation Using Data Flow Tracing. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
P. A. Gloor. AACE-Algorithm Animation for Computer Science Education. In Proceedings of the 1992 IEEE Workshop on Visual Languages, pages 25–31, Seattle, WA, September 1992.
P. A. Gloor. Animated Algorithms. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 27, pages 409–416. MIT Press, Cambridge, MA, 1998.
P. A. Gloor. User Interface Issues for Algorithm Animation. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 11, pages 145–152. MIT Press, Cambridge, MA, 1998.
E. Gramond and S. H. Rodger. Using JFLAP to Interact with Theorems in Automata Theory. SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education), 31, 1999.
J. Haajanen et al. Animation of User Algorithms on the Web. In Proceedings of the 1997 IEEE Symposium on Visual Languages, pages 360–367, Capri, Italy, September 1997.
E. Helttula, A. Hyrskykari, and K.-J. Räihä. Graphical Specification of Algorithm Animations with Aladdin. In Proceedings of the 22nd Hawaii International Conference on System Sciences, pages 892–901, Kailua-Kona, HI, January 1989.
R. R. Henry, K. M. Whaley, and B. Forstall. The University of Washington Illustrating Compiler. Sigplan Notices: SIGPLAN’ 90, 25(6):223–233, June 1990.
F. Hopgood. Computer Animation Used as a Tool in Teaching Computer Science. In Proceedings IFIP Congress, 1974.
A. Hyrskykari and K.-J. Räihä. Animation of Algorithms Without Programming. In Proceedings of the 1987 IEEE Computer Society Workshop on Visual Languages, pages 40–54, Linkoping, Sweden, August 1987.
S. Khuri and K. Holzapfel. EVEGA: An Educational Visualization Environment for Graph Algorithms. In Proceedings of the 6th Annual Conference on Innovaton and Technology in Computer Science Education, ITiCSE 2001. ACM Press, 2001.
K. Knowlton. L6: Bell Telephone Laboratories Low-Level Linked List Language. 16-minute black-and-white film, 1966.
K. Koskimies and K. Mössenböck. Scene: Using Scenario Diagrams and Active Text for Illustrating Object-Oriented Programs. In Proceedings of the 18th IEEE International Conference on Software Engineering, pages 366–375. IEEE Computer Society Press, 1996.
E. Kraemer. Visualizing Concurrent Programs. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 17, pages 237–256. MIT Press, Cambridge, MA, 1998.
E. Kraemer and J. T. Stasko. Toward Flexible Control of the Temporal Mapping from Concurrent Program Events to Animations. In Proceedings of the 8th International Parallel Processing Symposium (IPPS’ 94), pages 902–908, Cancun, Mexico, April 1994.
S. K. Lodha, J. Beahan, T. Heppe, A. Joseph, and B. Zane-Ulman. MUSE: A Musical Data Sonification Toolkit. In Proceedings of International Conference on Auditory Display (ICAD), Palo Alto, CA, USA, 1997.
R. L. London and R. A. Duisberg. Animating Programs Using Smalltalk. Computer, 18(8):61–71, August 1985.
Y. Moses, Z. Polunsky, and A. Tal. Algorithm Visualization For Distributed Environments. In Proceedings of the IEEE Symposium on Information Visualization 1998, pages 71–78, 1998.
S. Mukherjea and J. T. Stasko. Toward Visual Debugging: Integrating Algorithm Animation Capabilities within a Source Level Debugger. ACM Transactions on Computer-Human Interaction, 1(3):215–244, September 1994.
M. A. Najork. Web-Based Algorithm Animation. In Proceedings of the 38th Design Automation Conference (DAC 2001), pages 506–511, 2001.
T. L. Naps. Algorithm Visualization in Computer Science Laboratories. In Proceedings of the 21st SIGCSE Technical Symposium on Computer Science Education, pages 105–110, Washington, DC, February 1990.
T. L. Naps, J. R. Eagan, and L. L. Norton. JHAVE — An Environment to Actively Engage Students in Web-Based Algorithm Visualizations. In Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education, pages 109–113, Austin, TX, March 2000.
James Noble. Visualising Objects: Abstraction, Encapsulation, Aliasing and Ownership. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
M. Oudshoorn, H. Widjaja, and S. Ellershaw. Aspects and Taxonomy of Program Visualisation. In P. Eades and K. Zhang, editors, Software Visualisation. World Scientific Press, Singapore, 1996.
C. Pape. Animation of Structured Proofs in Education at University Level (in German). PhDthesis, University of Karlsruhe, Germany, 1999.
C. Pape and P. H. Schmitt. Visualizations for Proof Presentation in Theoretical Computer Science Education. In Z. Halim, Th. Ottmann, and Z. Razak, editors, Proceedings of International Conference on Computers in Education, pages 229–236. AACE-Association for the Advancement of Computing in Education, 1997.
W. C. Pierson and S. H. Rodger. Web-based Animation of Data Structures using JAWAA. In Proceedings of the 29th ACM Technical Symposium on Computer Science Education (SIGCSE 98), pages 257–260, Atlanta, GA, February 1998.
B. A. Price, R. Baecker, and I. Small. A Principled Taxonomy of Software Visualization. Journal of Visual Languages and Computing, 4(3):211–266, 1993.
S. Robbins. The JOTSA Animation Environment. In Proceedings of the 31st Hawaii Int. Conference on Systems Science, pages 655–664, 1998.
G.-C. Roman. Declarative Visualization. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 13, pages 173–186. MIT Press, Cambridge, MA, 1998.
G.-C. Roman and K. C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22(10):25–36, October 1989.
G.-C. Roman, K. C. Cox, Donald Wilcox, and Jerome Y. Plun. Pavane: a System for Declarative Visualization of Concurrent Computations. Journal of Visual Languages and Computing, 3(2):161–193, June 1992.
G. Rössling and B. Freisleben. ANIMAL: A System for Supporting Multiple Roles in Algorithm Animation. Journal of Visual Languages and Computing, 2002. to appear.
G. Rössling, M. Schuler, and B. Freisleben. The ANIMAL Algorithm Animation Tool. In Proceedings of the ITiCSE 2000 Conference, pages 37–40, Helsinki, Finland, 2000.
H. Senay and S. G. Lazzeri. Graphical Representation of Logic Programs and Their Behavior. In Proceedings of the 1991 IEEE Workshop on Visual Languages, pages 25–31, Kobe, Japan, October 1991.
J. T. Stasko. Using Direct Manipulation to Build Algorithm Animations by Demonstration. In Proceedings of the ACM SIGCHI’ 91 Conference on Human Factors in Computing Systems, New Orleans, LA, USA.
J. T. Stasko. TANGO: A Framework and System for Algorithm Animation. Computer, 23(9):27–39, 1990.
J. T. Stasko. The Path-Transition Paradigm: A Practical Methodology for Adding Animation to Program Interfaces. Journal of Visual Languages and Computing, 1(3):213–236, 1990.
J. T. Stasko. The PARADE Environment for Visualizing Parallel Program Executions: A Progress Report. Technical Report GIT-GVU-95-03, 1995.
J. T. Stasko. Using Student-Built Algorithm Animations as Learning Aids. In Proceedings of the 1998 ACM SIGCSE Conference, San Jose, CA, 1997.
J. T. Stasko. Building Software Visualizations through Direct Manipulation and Demonstration. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 14, pages 187–203. MIT Press, Cambridge, MA, 1998.
J. T. Stasko. Smooth Continuous Animation for Portraying Algorithms and Processes. In John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 8, pages 103–118. MIT Press, Cambridge, MA, 1998.
J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price. Software Visualization. MIT Press, 1998.
J. T. Stasko and E. Kraemer. A Methodology for Building Application-Specific Visualizations of Parallel Programs. Journal of Parallel and Distributed Computing, 18(2), 1993.
J. T. Stasko and D. S. McCrickard. Real Clock Time Animation Support for Developing Software Visualisations. Australian Computer Journal, 27(4):118–128, 1995.
J. T. Stasko and J. F. Wehrli. Three-Dimensional Computation Visualization. In Proceedings of the 1993 IEEE Symposium on Visual Languages, pages 100–107, Bergen, Norway, August 1993.
E. Sutinen, editor. Proceedings of the First Program Visualization Workshop 2000, Porvoo, Finland, 2000. Department of Computer Sience, University of Joensuu, Finland.
A. Y. Tal and D. P. Dobkin. Visualization of Geometric Algorithms. IEEE Transactions on Visualization and Computer Graphics, 1(2), 1995.
Ayellet Tal. Algorithm Animation Systems for Constrained Domains. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.
P. Vickers and J. L. Alty. CAITLIN: A Musical Program Auralisation Tool to Assist Novice Programmers with Debugging. In Proceedings of International Conference on Auditory Display (ICAD), Palo Alto, CA, USA, 1996.
P. Vickers and J. L. Alty. Musical Program Auralisation: Empirical Studies. In Proceedings of International Conference on Auditory Display (ICAD), Atlanta, GA, USA, 2000.
R. Watson and E. Salzman. A Trace Browser for a Lazy Functional Language. In Proceedings of the Twentieth Australian Computer Science Conference, pages 356–363, 1997.
J. R. Weinstein and P. R. Cook. FAUST: A Framework for Algorithm Understanding and Sonification Testing. In Proceedings of International Conference on Auditory Display (ICAD), Palo Alto, CA, USA, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kerren, A., Stasko, J.T. (2002). Chapter 1 Algorithm Animation. In: Diehl, S. (eds) Software Visualization. Lecture Notes in Computer Science, vol 2269. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45875-1_1
Download citation
DOI: https://doi.org/10.1007/3-540-45875-1_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43323-1
Online ISBN: 978-3-540-45875-3
eBook Packages: Springer Book Archive