“A system for algorithm animation” by Brown and Sedgewick

  • ©Marc H. Brown and Robert Sedgewick




    A system for algorithm animation



    A software environment is described which provides facilities at a variety of levels for “animating” algorithms: exposing properties of programs by displaying multiple dynamic views of the program and associated data structures. The system is operational on a network of graphics-based, personal workstations and has been used successfully in several applications for teaching and research in computer science and mathematics. In this paper, we outline the conceptual framework that we have developed for animating algorithms, describe the system that we have implemented, and give several examples drawn from the host of algorithms that we have animated.


    1. Baecker, Ronald, “Two System Which Produce Animated Representations of the Execution of Computer Programs,” ACM SIGCSE Bulletin 7, 1 (February 1975), 158-167.
    2. Baecker, Ronald, “Sorting out Sorting,” 16mm color sound file, 25 minutes, 1981. (SIGGRAPH 1981, Dallas, Texas)
    3. Booth, Kellogg, “PQ Trees,” 16mm color silent file, 12 minutes, 1975.
    4. Brown, Marc H. and Sedgewick, Robert, “Progress Report: Brown University Instuctional Computing Laboratory,” ACM SIGCSE Bulletin16, 1 (February 1984).
    5. Dionne, Mark S. and Mackworth, Alan K., “ANTICS – A System for Animating LISP Programs,” Computer Graphics and Image Processing 7 (1978), 105-119.
    6. Goldberg, Adele, Smalltalk, Addison-Wesley, Reading, MA, 1983.
    7. Guibas, Leo and Sedgewick, Robert, “A Dichromatic Framework for Balanced Trees,” in Proc. 19th Annual Symp. on Foundations of Computer Science, October 1978, pp.8-21.
    8. Herot, Christopher F., et. al., “An Integrated Environment for Program Visualization,” in Automated Tools for Information Systems Design, H.J. Schneider and A.I. Wasserman, Ed., North Holland Publishing Co., 1982, pp. 237-259.
    9. Knowlton, Kenneth C., “L6: Bell Telephone Laboratories Low-Level Linked List Language,” two black and white sound films, 1966.
    10. Myers, Brad A., “Displaying Data Structures for Interactive Debugging,” CSL-80-7, Xerox PARC, Palo Alto, CA, 1980. (Summary in SIGGRAPH 1983)
    11. Plattner, Bernhard and Nievergelt, Jurg, “Monitoring Program Execution: A Survey,” Computer 14 (November 1981), 76-93.
    12. Reiss, Steven P., “PECAN: A Program Development System that Supports Multiple Views,” Orlando, FL, March, 1984.
    13. Sedgewick, Robert, Algorithms, Addison-Wesley, Reading, MA, 1983.
    14. Tufte, Edward R., The Visual Display of Quantitative Information, Graphics Press, Cheshire, CT, 1983.
    15. Vitter, Jeffrey S., “USeR: Undo, Skip, et Redo,” Pittsburg, PA, April, 1984.

ACM Digital Library Publication: