Visualization of Data Structures and Algorithms

Although data structure visualization (or animation) has been studied for more than twenty years, existing systems have not gained wide acceptance in the classroom by students and their instructors. The main reason is that animation preparation is too time consuming. A more technical reason is that when a particular data structure is encoded into an animation, it does not have the flexibility often needed in a classroom setting. There is also a pedagogical reason: a number of prior studies have found that using algorithm visualization in a classroom had no significant effect on studentís performance. We believe that the Tablet PC, empowered by digital ink, will challenge the current boundaries imposed upon algorithm animation. One of the potential advantages of this new technology is that it allows the expression and exchange of ideas in an interactive environment using sketch based interfaces. We do not guarantee that merely integrating animation with the TabletPC capabilities will make improvements in studentsí learning. However, it is worthwhile researching whether adding the Tablet PC technologies to undergraduate education will affect teaching and learning.

We propose to create an environment in which students using a stylus would draw a particular instance of a data structure and then invoke an algorithm to animate over this data structure. The cornerstone of our project is the concept of geometrical sketching dynamically combined with an underlying computational model. A completely natural way of drawing using a digital pen will generate a data structure model. Once it is checked for accuracy, it will serve as a basis for execution of various computational algorithms. The algorithm animation will be performed in two different modes, either in demonstration/visualization mode or in userís step-by-step execution. The later will be supported by automated algorithm correctness verification.

PAPERS AND PRESENTATIONS:

  1. Adaptive Book: Teaching and Learning Environment for Programming Education, Proceedings of the International Conference on Information Technology: Coding and Computing, (ITCC 2005, April 4-6, 2003, Las Vegas, Nevada), IEEE, (2005).
  2. A Customized Learning Objects Approach to Teaching Programming, Proceedings of the 8th Annual Conference on Innovation and Technology in Computer Science Education, (ITiCSE 2003, June 30 - July 2, 2003, Thessaloniki, Greece), ACM Press.
  3. A Learning Objects Approach to Teaching Programming, Proceedings of the International Conference on Information Technology: Coding and Computing, (ITCC 2003, April 28-30, 2003, Las Vegas, USA.

Please send corrections to Victor S. Adamchik
Computer Science Department, 
Carnegie Mellon University, Pittsburgh, PA.