Software Visualization and Education - Introduction

Education has a distinguished history within SV. In fact, one of the most significant SV systems Sorting Out Sorting (SOS) [1, 2] was created to support students. SOS is a 30 minute film which describes nine sorting algorithms. The most referenced part of the film is one of the final scenes where a ‘grand race’ of the nine algorithms is depicted as nine simultaneously animated cartesian graphs. This scene, shown in figure 1, clearly indicates the different behaviour and performance of the nine algorithms. The impact of SOS was so profound that even today, over 20 years later, sorting is the most common domains used for demonstrating algorithm animation systems. A second early piece of significant work was the computer lab at Brown University [3]. From 1983 algorithms and data structure courses have been taught in a classroom where each student has a dedicated networked workstation (initially Apollo, now Sun). Using the network instructors animating displays are copied to the students’ screens. Although never formally evaluated anecdotal evidence indicated that the classroom is an extremely valuable resource for the students. The main problems encountered were associated with the effort which instructors had to put in to design, integrate and maintain the animations. In the early days the main tool used with the computer lab at Brown was BALSA [4], which provided an elegant environment for programmers to create animations based on an extension of the classical graphics model-renderer paradigm.

[1]  Annette Karmiloff-Smith,et al.  Micro- and Macrodevelopmental Changes in Language Acquisition and Other Representational Systems , 1979, Cogn. Sci..

[2]  Marc H. Brown,et al.  Algorithm animation , 1988 .

[3]  Marc Eisenstadt,et al.  The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming , 1988, J. Log. Program..

[4]  Marc Eisenstadt,et al.  A fine-grained account of Prolog execution for teaching and debugging , 1990 .

[5]  John T. Stasko The path-transition paradigm: a practical methodology for adding animation to program interfaces , 1990, J. Vis. Lang. Comput..

[6]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[7]  J. Domingue,et al.  Software Visualization As A Pedagogical Tool : Redressing Some ITS Fallacies , 1992 .

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

[9]  Eileen Kraemer,et al.  A Methodology for Building Application-Specific Visualizations of Parallel Programs , 1993, J. Parallel Distributed Comput..

[10]  A. Karmiloff-Smith Précis of Beyond modularity: A developmental perspective on cognitive science , 1994, Behavioral and Brain Sciences.

[11]  Luca Cardelli,et al.  A language with distributed scope , 1995, POPL '95.

[12]  Marc Najork,et al.  Collaborative Active Textbooks: a Web-based algorithm animation system for an electronic classroom , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[13]  M. Brown,et al.  JCAT: Collaborative active textbooks using Java , 1997, Comput. Networks ISDN Syst..

[14]  Erkki Sutinen,et al.  Animation of user algorithms on the Web , 1997, Proceedings. 1997 IEEE Symposium on Visual Languages (Cat. No.97TB100180).

[15]  Paul Mulholland,et al.  Fostering debugging communities on the Web , 1997, CACM.

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

[17]  Marc Najork,et al.  Collaborative Active Textbooks , 1997, J. Vis. Lang. Comput..

[18]  Paul Mulholland,et al.  An Effective Web-based Software Visualization Learning Environment , 1998, J. Vis. Lang. Comput..

[19]  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.

[20]  Marc Najork,et al.  Three-Dimensional Web-Based Algorithm Animations , 2001 .

[21]  J. Stasko,et al.  A Meta-Study of Algorithm Visualization Effectiveness , 2002, J. Vis. Lang. Comput..