Skip to main content

Algorithm Animation for Teaching

  • Conference paper
  • First Online:
Book cover Software Visualization

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

Abstract

We give an overview of rules and techniques to create a good algorithm animation, with emphasis on animations that would be used when teaching algorithms. In this context, we propose that animations should in particular emphasize the visualization of correctness invariants and the complexity of the algorithms. This implies that writing a good animation must be more than just showing the graphically enhanced runtime debugging provided by most common animation systems; instead, each animation must be individually designed and programmed.

This research was partially supported by Hong Kong RGC grant HKUST 6010/01E

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. Sorting out Sorting: A case study of software visualization for teaching computer science. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 24, pages 369–381. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  2. R. Baecker and B. Price. The early history of software visualization. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 2, pages 29–34. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  3. R. M. Baecker. Sorting out sorting, 1983. Narrated colour videotape, 30 minutes, presented at ACM SIGGRAPH’ 81 and excerpted in ACM SIGGRAPH Video Review No. 7, 1983.

    Google Scholar 

  4. M. H. Brown. Exploring algorithms using Balsa-II. Computer, 21(5):14–36, 1988.

    Article  Google Scholar 

  5. M. H. Brown. Zeus: A a system for algorithm animation and multi-view editing. In Proceedings of the 7th IEEE Workshop on Visual Languages, pages 4–9, 1991.

    Google Scholar 

  6. M. H. Brown and J. Hershberger. Color and sound in algorithm animation. Computer, 25:52–63, 1992.

    Article  Google Scholar 

  7. M. H. Brown and R. Sedgewick. A system for algorithm animation. Computer Graphics, 18(3):177–186, 1984.

    Article  Google Scholar 

  8. N. G. de Bruijn. Sorting by means of swapping. Discrete Mathematics, 9:333–339, 1974.

    Article  MATH  MathSciNet  Google Scholar 

  9. G. Cattaneo, U. Ferraro, G. F. Italiano, and V. Scarano. Cooperative algorithm and data types animation over the net. In Proceedings of the IFIP 15th World Computer Congress on Information Processing (IFIP’98), pages 63–80, 1998. System home page: http://isi.dia.unisa.it/catai.

  10. P. Crescenzi, C. Demetrescu, I. Finocchi, and R. Petreschi. Reversible execution and visualization of programs with LEONARDO. Journal of Visual Languages and Computing, 11(2):125–150, 2000. System home page: http://www.dis.uniroma1.it/~demetres/Leonardo.

    Article  Google Scholar 

  11. C. Demetrescu, I. Finocchi, G. F. Italiano, and S. Näher. Visualization in algorithm engineering: Tools and techniques. In Experimental Algorithics — The State of the Art. Springer-Verlag, Heidelberg. To appear.

    Google Scholar 

  12. C. Demetrescu, I. Finocchi, and G. Liotta. Visualizing algorithms over the Web with the publication-driven approach. In Proceedings of the 4th Workshop of Algorithms and Engineering (WAE’00), 2000.

    Google Scholar 

  13. E.W. Dijkstra. On the cruelty of really teaching computing science, The SIGCSE Award Lecture. Communications of the ACM, 32(12):1398–1404, 1989.

    Google Scholar 

  14. N. Faltin. Aktives Lernen von Algorithmen mit interaktiven Visualisierungen. In K. Mehlhorn and G. Snelting, editors, Neue Horizonte im neuen Jahrhundert. 30. Jahrestagung der Gesellschaft für InformatikBerlin, 19.-23. September 2000, pages 131–137. Springer-Verlag, Heidelberg, 2000. http://www-cg-hci-e.informatik.uni-oldenburg.de/~faltin/ALernAlg.

  15. V. Fix and P. Sriram. Empirical studies of algorithm animation for the selection sort. In W. Gray and D. Boehm-Davis, editors, Empirical Studies of Programmers: 6th Workshop, pages 271–282. Ablex Publishing Corporation, Norwood, NJ, 1996.

    Google Scholar 

  16. P. A. Gloor. Animated algorithms. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 27, pages 409–416. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  17. P. A. Gloor. User interface issues for algorithm animation. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 11, pages 145–152. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  18. H. H. Goldstein and J. von Neumann. Planning and coding problems of an electronic computing instrument. In A. H. Traub, editor, von Neumann, J., Collected Works, pages 80–151. McMillan, New York, 1947.

    Google Scholar 

  19. R. R. Henry, K. M. Whaley, and B. Forstall. The University of Washington Program Illustrator. In Proceedings of the 1990 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’90), pages 223–233, 1990.

    Google Scholar 

  20. C. A. Hipke and S. Schuierer. VEGA: A user centered approach to the distributed visualization of geometric algorithms. In Proceedings of the 7th International Conference in Central Europe on Computer Graphics, Visualization and Interactive Digital Media (WSCG’99), pages 110–117, 1999.

    Google Scholar 

  21. C. Kehoe, J. Stasko, and A. Taylor. Rethinking the evaluation of algorithm animations as learning aids: An observational study. International Journal of Human-Computer Studies, 54(2):265–284, 2001.

    Article  MATH  Google Scholar 

  22. K. Knowlton. Bell telephone laboratories low-level linked list language, 1966. 16-minute black and white.lm, Murray Hill, N.J.

    Google Scholar 

  23. L. Kucera. Homepage. http://www.ms.mff.cuni.cz/acad/kam/kucera.

  24. S. P. Lahtinen, E. Sutinen, and J. Tarhio. Automated animation of algorithms with Eliot. Journal of Visual Languages and Computing, 9:337–349, 1998.

    Article  Google Scholar 

  25. B. P. Miller. What to draw? When to draw? An essay on parallel program visualization. Journal of Parallel and Distributed Computing, 18:265–269, 1993.

    Article  Google Scholar 

  26. P. Mulholland and M. Eisenstadt. Using software to teach computer programming: Past, present and future. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 26, pages 399–408. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  27. B. A. Myers. Taxonomies of visual programming and program visualization. Journal of Visual Languages and Computing, 1:97–123, 1990.

    Article  Google Scholar 

  28. M. Petre, A. Blackwell, and T. Green. Cognitive questions in software visualization. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 30, pages 453–480. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  29. W. C. Pierson and S. H. Rodger. Web-based animation of data structures using JAWAA. In 29th SIGCSE Technical Symposium on Computer Science Education, 1998. System home page: http://www.cs.duke.edu/csed/jawaa/JAWAA.html.

  30. B. A. Price, R. M. Baecker, and I. S. Small. A principled taxonomy of software visualization. Journal of Visual Languages and Computing, 4(3):211–266, 1993.

    Article  Google Scholar 

  31. G. C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. Computer, 22:25–36, 1989.

    Article  Google Scholar 

  32. G. C. Roman and K. C. Cox. A taxonomy for program visualization systems. Computer, 26:11–24, 1993.

    Article  Google Scholar 

  33. G. C. Roman, K. C. Cox, C. D. Wilcox, and J. Y. Plun. PAVANE: A system for declarative visualization of concurrent computations. Journal of Visual Languages and Computing, 3:161–193, 1992.

    Article  Google Scholar 

  34. J. Stasko and A. Lawrence. Empirically assessing algorithm animations as learning aids. In J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors, Software Visualization: Programming as a Multimedia Experience, chapter 28, pages 419–438. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  35. J. T. Stasko. Tango: A framework and system for algorithm animation. Computer, 23(9):27–39, 1990.

    Article  Google Scholar 

  36. J. T. Stasko, J. Domingue, M. H. Brown, and B. A. Price. Software Visualization: Programming as a Multimedia Experience. The MIT Press, Cambridge, MA, and London, England, 1997.

    Google Scholar 

  37. Xtango. A general purpose algorithm animation system. http://www.cc.gatech.edu/gvu/softviz/algoanim/xtango.html.

  38. A. Zeller. Ddd — data display debugger, version 3.3, 2000. http://www.gnu.org/software/ddd. s

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

Fleischer, R., Kučera, L. (2002). Algorithm Animation for Teaching. 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_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-45875-1_9

  • 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