Skip to main content

Chapter 1 Algorithm Animation

  • Conference paper
  • First Online:
Software Visualization

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2269))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Baecker. Towards Animating Computer Programs: A First Progress Report. In Proceedings of the Third NRC Man-Computer Communications Conference, 1973.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. R. Baecker (with assistance of Dave Sherman). Sorting out Sorting. 30 minute color film (distributed by Morgan Kaufmann Pub.), 1981.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. J. L. Bentley and B. W. Kernighan. A System for Algorithm Animation. Computing Systems, 4(1), Winter 1991.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. M. H. Brown. Algorithm Animation. MIT Press, 1987.

    Google Scholar 

  9. M. H. Brown. Exploring Algorithms with Balsa-II. Computer, 21(5), 1988.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. M. H. Brown and M. A. Najork. Three-Dimensional Web-Based Algorithm Animations. Technical Report 170, Compaq Systems Research Center, July 2001.

    Google Scholar 

  18. M. H. Brown and R. Raisamo. JCAT: Collaborative Active Textbooks Using Java. In Proceedings of CompuGraphics’96, Paris, France, 1996.

    Google Scholar 

  19. M. H. Brown and R. Sedgewick. A System for Algorithm Animation. In Proceedings of ACM SIGGRAPH’84, Minneapolis, MN, 1984.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Article  Google Scholar 

  25. Camil Demetrescu, Irene Finocchi, and John Stasko. Specifying Algorithm Visualizations: Interesting Events or State Mapping? In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. 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.

  28. S. Diehl, editor. Software Visualization, volume 2269 of LNCS State-of-the-art Survey. Springer Verlag, 2002.

    MATH  Google Scholar 

  29. 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.

    Google Scholar 

  30. 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.

    Chapter  Google Scholar 

  31. Stephan Diehl, Carsten Görg, and Andreas Kerren. Animating Algorithms Live and Post Mortem. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. P. Eades and K. Zhang, editors. Software Visualization. World Scientific Pub., Singapore, 1996.

    Google Scholar 

  34. 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.

    Article  MathSciNet  Google Scholar 

  35. S. Foubister. Graphical Application and Visualisation of Lazy Functional Computation. PhD thesis, Department of Computer Science, University of York, 1995.

    Google Scholar 

  36. Jaroslaw Francik. Algorithm Animation Using Data Flow Tracing. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.

    Google Scholar 

  37. 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.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. 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.

    Google Scholar 

  41. 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.

    Google Scholar 

  42. 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.

    Google Scholar 

  43. 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.

    Article  Google Scholar 

  44. F. Hopgood. Computer Animation Used as a Tool in Teaching Computer Science. In Proceedings IFIP Congress, 1974.

    Google Scholar 

  45. 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.

    Google Scholar 

  46. 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.

    Google Scholar 

  47. K. Knowlton. L6: Bell Telephone Laboratories Low-Level Linked List Language. 16-minute black-and-white film, 1966.

    Google Scholar 

  48. 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.

    Google Scholar 

  49. 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.

    Google Scholar 

  50. 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.

    Google Scholar 

  51. 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.

    Google Scholar 

  52. R. L. London and R. A. Duisberg. Animating Programs Using Smalltalk. Computer, 18(8):61–71, August 1985.

    Article  Google Scholar 

  53. 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.

    Google Scholar 

  54. 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.

    Article  Google Scholar 

  55. M. A. Najork. Web-Based Algorithm Animation. In Proceedings of the 38th Design Automation Conference (DAC 2001), pages 506–511, 2001.

    Google Scholar 

  56. 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.

    Google Scholar 

  57. 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.

    Google Scholar 

  58. James Noble. Visualising Objects: Abstraction, Encapsulation, Aliasing and Ownership. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.

    Google Scholar 

  59. 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.

    Google Scholar 

  60. C. Pape. Animation of Structured Proofs in Education at University Level (in German). PhDthesis, University of Karlsruhe, Germany, 1999.

    Google Scholar 

  61. 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.

    Google Scholar 

  62. 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.

    Google Scholar 

  63. 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.

    Article  Google Scholar 

  64. S. Robbins. The JOTSA Animation Environment. In Proceedings of the 31st Hawaii Int. Conference on Systems Science, pages 655–664, 1998.

    Google Scholar 

  65. 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.

    Google Scholar 

  66. G.-C. Roman and K. C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22(10):25–36, October 1989.

    Article  Google Scholar 

  67. 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.

    Article  Google Scholar 

  68. 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.

    Google Scholar 

  69. 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.

    Google Scholar 

  70. 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.

    Google Scholar 

  71. 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.

    Google Scholar 

  72. J. T. Stasko. TANGO: A Framework and System for Algorithm Animation. Computer, 23(9):27–39, 1990.

    Article  Google Scholar 

  73. 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.

    Article  Google Scholar 

  74. J. T. Stasko. The PARADE Environment for Visualizing Parallel Program Executions: A Progress Report. Technical Report GIT-GVU-95-03, 1995.

    Google Scholar 

  75. J. T. Stasko. Using Student-Built Algorithm Animations as Learning Aids. In Proceedings of the 1998 ACM SIGCSE Conference, San Jose, CA, 1997.

    Google Scholar 

  76. 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.

    Google Scholar 

  77. 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.

    Google Scholar 

  78. J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price. Software Visualization. MIT Press, 1998.

    Google Scholar 

  79. 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.

    Google Scholar 

  80. J. T. Stasko and D. S. McCrickard. Real Clock Time Animation Support for Developing Software Visualisations. Australian Computer Journal, 27(4):118–128, 1995.

    Google Scholar 

  81. 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.

    Google Scholar 

  82. E. Sutinen, editor. Proceedings of the First Program Visualization Workshop 2000, Porvoo, Finland, 2000. Department of Computer Sience, University of Joensuu, Finland.

    Google Scholar 

  83. A. Y. Tal and D. P. Dobkin. Visualization of Geometric Algorithms. IEEE Transactions on Visualization and Computer Graphics, 1(2), 1995.

    Google Scholar 

  84. Ayellet Tal. Algorithm Animation Systems for Constrained Domains. In Proceedings of Dagstuhl Seminar on Software Visualization, 2001.

    Google Scholar 

  85. 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.

    Google Scholar 

  86. P. Vickers and J. L. Alty. Musical Program Auralisation: Empirical Studies. In Proceedings of International Conference on Auditory Display (ICAD), Atlanta, GA, USA, 2000.

    Google Scholar 

  87. 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.

    Google Scholar 

  88. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics