Effective features of algorithm visualizations

Many algorithm visualizations have been created, but little is known about which features are most important to their success. We believe that pedagogically useful visualizations exhibit certain features that hold across a wide range of visualization styles and content. We began our efforts to identify these features with a review that attempted to identify an initial set of candidates. We then ran two experiments that attempted to identify the effectiveness for a subset of features from the list. We identified a small number of features for algorithm visualizations that seem to have a significant impact on their pedagogical effectiveness, and found that several others appear to have little impact. The single most important feature studied is the ability to directly control the pace of the visualization. An algorithm visualization having a minimum of distracting features, and which focuses on the logical steps of an algorithm, appears to be best for procedural understanding of the algorithm. Providing a good example for the visualization to operate on proved significantly more effective than letting students construct their own data sets. Finally, a pseudocode display, a series of questions to guide exploration of the algorithm, or the ability to back up within the visualization did not show a significant effect on learning.

[1]  A. W. Lawrence,et al.  Empirical studies of the value of algorithm animation in algorithm understanding , 1993 .

[2]  Steven Hansen,et al.  Empirical Studies of Animation-embedded Hypermedia Algorithm Visualizations , 1998 .

[3]  Clifford A. Shaffer,et al.  A practical introduction to data structures and algorithm analysis prentice hall , 1996 .

[4]  Wayne Citrin,et al.  Pedagogic aspects of algorithm animation , 1996 .

[5]  Thomas L. Naps,et al.  Tools for visual exploration of scope and parameter passing in a programming languages course , 1996, SIGCSE '96.

[6]  Martha E. Crosby,et al.  From multimedia instruction to multimedia evaluation , 1995 .

[7]  Susan Palmiter,et al.  An evaluation of animated demonstrations of learning computer-based tasks , 1991, CHI.

[8]  Steven R. Hansen On the Role of Animated Analogies in Algorithm Visualizations , 2000 .

[9]  Ben Shneiderman,et al.  The design of history mechanisms and their use in collaborative educational simulations , 1999, CSCL.

[10]  Rockford J. Ross,et al.  Dancing with DynaLab: endearing the science of computing to students , 1996, SIGCSE '96.

[11]  Blaine A. Price,et al.  A Principled Taxonomy of Software Visualization , 1993, J. Vis. Lang. Comput..

[12]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[13]  Wayne Citrin,et al.  Testing effectiveness of algorithm animation , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[14]  Eileen Kraemer,et al.  The Visualization of Parallel Systems: An Overview , 1993, J. Parallel Distributed Comput..

[15]  R. Mayer,et al.  Animations need narrations : an experimental test of a dual-coding hypothesis , 1991 .

[16]  Giuseppe Liotta,et al.  A new model for algorithm animation over the WWW , 1995, CSUR.

[17]  Sougata Mukherjea,et al.  Toward visual debugging: integrating algorithm animation capabilities within a source-level debugger , 1994, TCHI.

[18]  John T. Stasko,et al.  Using student-built algorithm animations as learning aids , 1997, SIGCSE '97.

[19]  Rachelle S. Heller,et al.  Integrating algorithm animation into a learning environment , 1997, Comput. Educ..

[20]  Lloyd P. Rieber,et al.  The effects of computer animation on adult learning and retrieval tasks , 1990 .

[21]  John T. Stasko,et al.  Using Animations to Learn about Algorithms: An Ethnographic Case Study , 1996 .

[22]  Peter A. Gloor,et al.  AACE-algorithm animation for computer science education , 1992, Proceedings IEEE Workshop on Visual Languages.

[23]  Melissa Wiggins,et al.  An overview of program visualization tools and systems , 1998, ACM-SE 36.

[24]  John T. Stasko,et al.  Empirically evaluating the use of animations to teach algorithms , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[25]  John T. Stasko,et al.  Please address correspondence to , 2000 .

[26]  Clifford A. Shaffer,et al.  Learning and Retention in Data Structures: A Comparison of Visualization, Text, and Combined Methods , 2002 .

[27]  Rachelle S. Heller,et al.  Assessing the benefits of interactive prediction using Web-based algorithm animation courseware , 2000, SIGCSE '00.

[28]  Clifford A. Shaffer,et al.  Using the Swan data structure visualization system for computer science education , 1996, SIGCSE '96.

[29]  Stephen J. Hartley Animating operating systems algorithms with XTANGO , 1994, SIGCSE '94.

[30]  Susan H. Rodger,et al.  Web-based animation of data structures using JAWAA , 1998, SIGCSE '98.

[31]  John Stasko Animating algorithms with XTANGO , 1992, SIGA.

[32]  Clifford A. Shaffer,et al.  Effective features of algorithm visualizations , 2004 .

[33]  John T. Stasko,et al.  Rethinking the evaluation of algorithm animations as learning aids: an observational study , 2001, Int. J. Hum. Comput. Stud..

[34]  Giuseppe Liotta,et al.  Animating geometric algorithms over the web , 1996, SCG '96.

[35]  Gruia-Catalin Roman,et al.  An Evaluation of the Pavane Visualization System , 1994 .

[36]  KhuriSami,et al.  An overview of visualization: its use and design , 1996 .

[37]  Robert Sedgewick,et al.  Techniques for Algorithm Animation , 1985, IEEE Software.

[38]  N. Hari Narayanan,et al.  How undergraduate students' learning strategy and culture effects algorithm animation use and interpretation , 2001, Proceedings IEEE International Conference on Advanced Learning Technologies.

[39]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[40]  J.T. Stasko,et al.  Tango: a framework and system for algorithm animation , 1990, Computer.

[41]  Susan H. Rodger,et al.  Integrating animations into courses , 1996, ITiCSE.

[42]  Christopher D. Hundhausen,et al.  Using visualizations to learn algorithms: should students construct their own, or view an expert's? , 2000, Proceeding 2000 IEEE International Symposium on Visual Languages.

[43]  John T. Stasko,et al.  Do algorithm animations assist learning?: an empirical study and analysis , 1993, INTERCHI.

[44]  Marc H. Brown,et al.  Exploring algorithms using Balsa-II , 1988, Computer.

[45]  John T. Stasko,et al.  Understanding and characterizing software visualization systems , 1992, Proceedings IEEE Workshop on Visual Languages.

[46]  Ann Lickorish,et al.  Graphics in written directions: appreciated by readers but not writers , 1995 .

[47]  Robert M. Aiken,et al.  A repository that supports teaching and cooperation in the introductory AI course , 1994, SIGCSE '94.

[48]  John T. Stasko,et al.  Real Clock Time Animation Support for Developing Software Visualisations , 1995, Aust. Comput. J..

[49]  Christopher D. Hundhausen,et al.  Exploring Human Visualization of Computer Algorithms , 1996, Graphics Interface.

[50]  John Hershberger,et al.  Color and sound in algorithm animation , 1992, Computer.

[51]  Robert M. Aiken,et al.  Review of animation systems for algorithm understanding , 1996, ITiCSE.

[52]  Audris Mockus,et al.  A Web-based approach to interactive visualization in context , 2000, AVI '00.

[53]  Gruia-Catalin Roman,et al.  A taxonomy of program visualization systems , 1993, Computer.

[54]  Brian Swander,et al.  An object-oriented approach to algorithm visualization—easy, extensible, and dynamic , 1994, SIGCSE '94.