Low-Fidelity Algorithm Visualization

Computer science educators have traditionally used algorithm visualization (AV) software to create graphical representations of algorithms for use as visual aids in lectures, or as the basis for interactive labs. Typically, such visualizations are high-fidelity in the sense that (a) they depict the target algorithm for arbitrary input, and (b) they tend to have the polished look of textbook figures. In contrast, low-fidelity visualizations illustrate the target algorithm for a few, carefully chosen input data sets, and tend to have a sketched, unpolished appearance. Drawing on ethnographic field studies of a junior-level undergraduate algorithms course, we motivate the use of low-fidelity AV technology as the basis for an alternative learning paradigm in which students construct their own visualizations, and then present those visualizations to their instructor and peers for feedback and discussion. To explore the design space of low-fidelity AV technology, we present SALSA (Spatial ALgorithmic Language for StoryboArding) and ALVIS (ALgorithmVI sualization Storyboarder), a prototype end-user language and system firmly rooted in empirical studies in which students constructed and presented visualizations made out of simple art supplies. Our prototype end-user language and system pioneer a novel technique for programming of visualizations based on spatial relations, and a novel presentation interface that supports human discussions about algorithms by enabling reverse execution and dynamic mark-up and modification. Moreover, the prototype provides an ideal foundation for what we see as the algorithms classroom of the future: the interactive ‘algorithms studio’.

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

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

[3]  James A. Landay,et al.  Interactive sketching for the early stages of user interface design , 1995, CHI '95.

[4]  Rossella Petreschi,et al.  Reversible Execution and Visualization of Programs with LEONARDO , 2000, J. Vis. Lang. Comput..

[5]  J. Vonèche Mindstorms: Children, computers and powerful ideas , 1983 .

[6]  Etienne Wenger,et al.  Situated Learning: Legitimate Peripheral Participation , 1991 .

[7]  Sarah A. Douglas Conversation analysis and human-computer interaction design , 1995 .

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

[9]  Robert Duisberg Visual Programming of Program Visualizations , 1990 .

[10]  Wayne Citrin,et al.  A low-overhead technique for dynamic blackboarding using morphing technology , 1996, Comput. Educ..

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

[12]  P. M. Hendryx-Bedalov,et al.  Ethnography , 1998 .

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

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

[15]  John T. Stasko Using direct manipulation to build algorithm animations by demonstration , 1991, CHI '91.

[16]  Mike Folk Review of "Mindstorms: Children, Computers, and Powerful Ideas by Seymour Papert", Basic Books: New York, 1980 , 1981, SCOU.

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

[18]  Robert Sedgewick,et al.  Progress report: Brown university instructional computing laboratory , 1984, SIGSCE '84.

[19]  Thomas L. Naps Algorithm visualization in computer science laboratories , 1990, SIGCSE '90.

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

[21]  Harry F. Wolcott Ethnography: A Way of Seeing , 1999 .

[22]  Peter Johnson,et al.  PatchWork: a software tool for early design , 1998, CHI Conference Summary.

[23]  Christopher D. Hundhausen,et al.  Toward effective algorithm visualization artifacts: designing for participation and communication in , 1999 .

[24]  Gruia-Catalin Roman,et al.  Pavane: a system for declarative visualization of concurrent computations , 1992, J. Vis. Lang. Comput..

[25]  John T. Stasko,et al.  Evaluating animations as student aids in learning computer algorithms , 1999, Comput. Educ..

[26]  Brigham Bell,et al.  Usability testing of a graphical programming system: things we missed in a programming walkthrough , 1991, CHI '91.

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

[28]  J. L. Rogers,et al.  Using significance tests to evaluate equivalence between two experimental groups. , 1993, Psychological bulletin.

[29]  Christopher D. Hundhausen,et al.  Toward empirically-based software visualization languages , 1995, Proceedings of Symposium on Visual Languages.

[30]  Christopher D. Hundhausen Toward effective algorithm visualization artifacts: designing for participation and negotiation in an undergraduate algorithms course , 1998, CHI Conference Summary.

[31]  Robert Duisberg Animation Using Temporal Constraints: An Overview of the Animus System , 1987, Hum. Comput. Interact..

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

[33]  Bradley T. Vander Zanden,et al.  The whiteboard environment: an electronic sketchpad for data structure design and algorithm description , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

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

[35]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[36]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

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

[38]  Amir Michail,et al.  Teaching binary tree algorithms through visual programming , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[39]  Mark W. Newman,et al.  DENIM: finding a tighter fit between tools and practice for Web site design , 2000, CHI.

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

[41]  Brad A. Myers INCENSE: A system for displaying data structures , 1983, SIGGRAPH.