Robust Generation of Dynamic Data Structure Visualizations with Multiple Interaction Approaches

jGRASP has three integrated approaches for interacting with its dynamic viewers for data structures: debugger, workbench, and text-based interactions that allow individual Java statements and expressions to be executed/evaluated. These approaches can be used together to provide a complementary set of interactions with the dynamic viewers. Data structure identification and rendering were tested by examining examples from 20 data structure textbooks. Controlled experiments with CS2 students indicate that the viewers can have a significant positive impact on student performance. The overall result is a flexible environment for interacting with effective dynamic data structure visualizations generated by a robust structure identifier.

[1]  Erkki Sutinen,et al.  Visualizing programs with Jeliot 3 , 2004, AVI.

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

[3]  Lauri Malmi,et al.  Exploring the role of visualization and engagement in computer science education , 2003, ACM SIGCSE Bull..

[4]  Sesh Venugopal Data structures outside in with Java , 2003 .

[5]  James H. Cross,et al.  Using the debugger as an integral part of teaching CS1 , 2002, 32nd Annual Frontiers in Education.

[6]  N. Hari Narayanan,et al.  Authority and convergence in collaborative learning , 2003, Comput. Educ..

[7]  Tony Clear,et al.  An Australasian study of reading and comprehension skills in novice programmers, using the bloom and SOLO taxonomies , 2006 .

[8]  Stephen H. Edwards,et al.  Algorithm visualization: a report on the state of the field , 2007, SIGCSE.

[9]  Susan H. Rodger,et al.  Merging interactive visualizations with hypertextbooks and course management , 2006, ITiCSE-WGR '06.

[10]  Andrew W. Appel,et al.  Traversal-based visualization of data structures , 1998, Proceedings IEEE Symposium on Information Visualization (Cat. No.98TB100258).

[11]  Mordechai Ben-Ari,et al.  The Jeliot 2000 program animation system , 2003, Comput. Educ..

[12]  Erkki Sutinen,et al.  Perspectives on Program Animation with Jeliot , 2001, Software Visualization.

[13]  Thomas L. Naps Instructional interaction with algorithm visualizations , 2000 .

[14]  Peter Brusilovsky,et al.  Development of XML-based tools to support user interaction with algorithm visualization , 2005, SGCS.

[15]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .

[16]  Bernd Freisleben,et al.  Program Visualization Using AnimalScript , 2001 .

[17]  Thomas L. Naps,et al.  Exploring the role of visualization and engagement in computer science education , 2003, ITiCSE-WGR '02.

[18]  T. Dean Hendrix,et al.  Dynamic object viewers for data structures , 2007, SIGCSE '07.

[19]  Robert Cartwright,et al.  DrJava: a lightweight pedagogic environment for Java , 2002, SIGCSE '02.

[20]  John Lewis,et al.  Java Software Structures: Designing and Using Data Structures , 2003 .

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

[22]  J. Hamer A Lightweight Visualizer for Java , 2004 .

[23]  David Riley The Object of Data Abstraction and Structures (Using Java) , 2002 .

[24]  Ville Karavirta Integrating Algorithm Visualization Systems , 2007, Electron. Notes Theor. Comput. Sci..

[25]  Guido Rößling,et al.  Easy, fast, and flexible algorithm animation generation , 2007, ITiCSE '07.

[26]  Eileen Kraemer,et al.  SKA: supporting algorithm and data structure discussion , 2002, SIGCSE '02.

[27]  Takao Shimomura,et al.  Linked-list visualization for debugging , 1991, IEEE Software.

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

[29]  Aaron Marcus,et al.  Software visualization for debugging , 1997, CACM.

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

[31]  Thomas L. Naps JHAVE: supporting algorithm visualization , 2005, IEEE Computer Graphics and Applications.

[32]  Marc H. Brown,et al.  Zeus: a system for algorithm animation and multi-view editing , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[33]  Timothy A. Budd Classic data structures in Java , 2000 .

[34]  Lauri Malmi,et al.  MatrixPro - A Tool for On-The-Fly Demonstration of Data Structures and Algorithms , 2004 .

[35]  Donald P. Pazel DS-Viewer - An Interactive Graphical Data Structure Presentation Facility , 1989, IBM Syst. J..

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

[37]  Tobias Lauer,et al.  Learner interaction with algorithm visualizations: viewing vs. changing vs. constructing , 2006, ITICSE '06.

[38]  Brad A. Myers,et al.  Automatic data visualization for novice Pascal programmers , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[39]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[40]  Robert Charles Metzger Debugging by Thinking: A Multidisciplinary Approach , 2003 .

[41]  David A. Watt,et al.  Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms , 2001 .

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

[43]  Robert Charles Metzger 9 – Debugging Tactics , 2004 .

[44]  T. Dean Hendrix,et al.  Testing the jGRASP structure identifier with data structure examples from textbooks , 2008, ACM-SE 46.

[45]  Marc Eisenstadt,et al.  My hairiest bug war stories , 1997, CACM.

[46]  John R. Hubbard,et al.  Data structures with Java , 2000 .

[47]  Jean-Paul Tremblay,et al.  Data structures and software development in an object-oriented domain , 2003 .

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

[49]  T. Dean Hendrix,et al.  Qualitative comparison of systems facilitating data structure visualization , 2005, ACM-SE 43.

[50]  Premchand S. Nair,et al.  Data structures using Java , 2003 .

[51]  T. Dean Hendrix,et al.  Integrating Multiple Approaches for Interacting with Dynamic Data Structure Visualizations , 2009, Electron. Notes Theor. Comput. Sci..

[52]  Simon Gray Data Structures in Java: From Abstract Data Types to the Java Collections Framework , 2006 .

[53]  G. Michael Schneider,et al.  Modern Software Development Using Java , 2007 .

[54]  Christopher D. Hundhausen,et al.  What You See Is What You Code: A "live" algorithm development and visualization environment for novice learners , 2007, J. Vis. Lang. Comput..

[55]  Frank M. Carrano,et al.  Data abstraction and problem solving with Java , 2000 .

[56]  Brenda C. Parker,et al.  Effective methods for learning: a study in visualization , 2006 .

[57]  T. Dean Hendrix,et al.  Experimental evaluation of animated-verifying object viewers for Java , 2006, SoftVis '06.

[58]  Andrés Moreno PRODUCING AN EDUCATIONALLY EFFECTIVE AND USABLE TOOL FOR LEARNING, THE CASE OF JELIOT FAMILY , 2003 .

[59]  John R. Hubbard Schaum's Outline of Data Structures with Java , 2000 .

[60]  Clifford A. Shaffer Data Structures and Algorithm Analysis in Java , 2011 .

[61]  Andreas Zeller,et al.  DDD—a free graphical front-end for UNIX debuggers , 1996, SIGP.

[62]  Mordechai Ben-Ari,et al.  We work so hard and they don't use it: acceptance of software tools by teachers , 2007, ITiCSE '07.

[63]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[64]  James H. Paterson,et al.  Using the BlueJ IDE in a data structures course , 2005, ITiCSE '05.

[65]  Steven Hansen,et al.  Designing Educationally Effective Algorithm Visualizations , 2002, J. Vis. Lang. Comput..

[66]  Herbert L. Dershem,et al.  Animation of Java linked lists , 2002, SIGCSE '02.

[67]  Bernd Freisleben,et al.  ANIMAL: A System for Supporting Multiple Roles in Algorithm Animation , 2002, J. Vis. Lang. Comput..

[68]  Susan H. Rodger,et al.  Merging interactive visualizations with hypertextbooks and course management , 2006, ACM SIGCSE Bull..

[69]  Alistair E. R. Campbell,et al.  Language-independent interactive data visualization , 2003, SIGCSE.

[70]  Lauri Malmi,et al.  Evaluating the educational impact of visualization , 2003, ITiCSE-WGR '03.

[71]  Bharat Jayaraman,et al.  JIVE: java interactive visualization environment , 2004, OOPSLA '04.

[72]  Peter DePasquale,et al.  Java Foundations: Introduction to Program Design and Data Structures Value Package , 2007 .

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

[74]  Duane A. Bailey Data Structures in Java for the Principled Programmer , 1998 .

[75]  Nell Dale,et al.  Object-Oriented Data Structures Using Java , 2002 .

[76]  Christopher D. Hundhausen,et al.  Low-Fidelity Algorithm Visualization , 2002, J. Vis. Lang. Comput..

[77]  Scott Grissom,et al.  Supporting the rapid development of pedagogically effective algorithm visualizations , 2007 .

[78]  Sartaj Sahni,et al.  Data Structures, Algorithms and Applications in Java , 1998 .

[79]  T. Dean Hendrix,et al.  Providing Data Structure Animations in a Lightweight IDE , 2007, Electron. Notes Theor. Comput. Sci..

[80]  Walter Savitch,et al.  Data structures and abstractions with Java , 2002 .

[81]  Peter Drake,et al.  Data structures and algorithms in Java , 2005 .

[82]  Thomas Widjaja,et al.  Enhanced expressiveness in scripting using AnimalScript V2 , 2004 .

[83]  William J. Collins,et al.  Data Structures and the Java Collections Framework , 2001 .

[84]  Susan H. Rodger,et al.  JAWAA: easy web-based animation from CS 0 to advanced CS courses , 2003, SIGCSE.

[85]  Lauri Malmi,et al.  Taxonomy of algorithm animation languages , 2006, SoftVis '06.

[86]  Thomas G. Moher,et al.  PROVIDE: A Process Visualization and Debugging Environment , 1988, IEEE Trans. Software Eng..