Tools for Supporting Algorithm and Data Structure Discussion

Ashley George Hamilton-Taylor

Computer Science Department
University of Georgia
Athens, GA

ataylor@cs.uga.edu

Introduction
Algorithm animation system design has focused primarily on providing advanced graphical capabilities. However, a fundamental mismatch exists between the needs of instructors and the features of existing algorithm animation systems. The design of algorithm animation systems has not been based on the context and practice of algorithm and data structure discussion.

Theoretical Background and Previous Research
Algorithm animation systems have been in use for over a decade. It seemed intuitively apparent that a dynamic medium would be well suited for gaining insight into the dynamic aspect of algorithms [5], and that this medium would have clear advantages over traditional static media such as diagrams and pseudocode. Despite the development of many systems with impressive capabilities such as POLKA [10] and Zeus [2], the use of algorithm animation has not become a standard element of computer science instruction. One of the reasons for this absence of use is no doubt due to the mixed results of empirical studies of student usage [4], though some results have been positive [7,6]. We believe that a number of factors have contributed to the low rates of adoption. One factor is the effort required to author an animation. A number of systems have attempted to address this, for example, Samba [9], but the effort required is apparently still too much for the typical time-harried instructor or student.

Another issue is that many systems produce video-type animations that afford minimal interaction with the viewer. This contrasts with the high degree of interaction with traditional static media that typically occurs in classroom discussions as instructors attempt to simulate the effect of executing algorithms on data structure diagrams. A few systems such as AnimationExplorer [8] and CAT [3] have attempted to accommodate this to some extent, but we believe that the fundamental design issues have not been fully addressed. We believe that an appropriate design process for this domain is contextual design [1], in which the user’s existing tasks and workflow are studied in order to inform system design.

Research goals
We are developing an algorithm animation system, SKA (Support Kit for Animation), whose design is based on a contextual examination of the tasks performed in the process of discussing algorithms and data structures. SKA attempts to support and enhance time-consuming instructional tasks such as tracing and data structure diagram manipulation, while requiring minimal preparation or authoring time. In addition, we want to examine the relationship between perception and cognition in algorithm animation [11].

Current Status
We have implemented a prototype of SKA, based on informal study of tracing and data structure diagram manipulation tasks. We are in the process of conducting an observational study of classroom tasks instructors perform while discussing algorithms and data structures, using contextual inquiry techniques. The results of this study will inform the design of the next version of the prototype, and this prototype which will be evaluated in the classroom context. We are also planning studies of relevant perceptual issues.

Interim Conclusions
From our initial observations of classroom instruction, it is clear that the use of conceptual data structure diagrams and tracing on them an integral component. It is also clear that support tools for these tasks could be useful. We will be evaluating our system to see if it can provide that support.

Current Status
I am in the first year of the doctoral program in computer science at the University of Georgia. However, I am a transfer student, and expect to complete my studies in another year.

The Doctoral Consortium
I am participating in the doctoral symposium in order to get feedback on my research, and to interact with other candidates in the area of computer science education.

Open Issues
Our evaluation techniques for classroom tools and perceptual issues may have to be non-traditional, and we are examining relevant studies.

References
[1] Hugh Beyer and Karen Holtzblatt. Contextual Design: Defining Customer-Centered Systems. Morgan Kaufmann (1998).
[2] Marc Brown. ZEUS: A system for algorithm animation and multi-view editing. Proceedings of the 1991 IEEE Symposium on Visual Languages, pages 4-9, Kobe, Japan, October 1991.
[3] Marc H. Brown and Marc A Najork. Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom. Proceedings of the 1996 IEEE Symposium on Visual Languages, pages 266-275, Boulder, CO, September 1996.
[4] Michael D. Byrne, Richard Catarambone, and John T. Stasko. Evaluating animations as student aids in learning computer algorithms. Computers & Education, Vol.33, No.5, pp.253-278, 1999.
[5] Judith S. Gurka and Wayne Citrin. Testing effectiveness of algorithm animation. Proceedings of the 1996 IEEE Symposium on Visual Languages, pages 182-189, Boulder, CO, September 1996.
[6] Colleen Kehoe, John Stasko, and Ashley Taylor. Rethinking the evaluation of algorithm animations as learning aids: An observational study. International Journal of Human-Computer Studies, Vol.54, No.2, pp.265-284, February 2001.
[7] Andrea W. Lawrence, Albert M. Badre, and John T. Stasko. Empirically Evaluating the use of Animations to Teach Algorithms. Proceedings of the 1994 IEEE Symposium on Visual Languages, October 1994, pp. 48-54.
[8] J.D. McWhirter. AlgorithmExplorer: A Student-Centered Algorithm Animation System. Proceedings of the 1996 IEEE Symposium on Visual Languages, pages 174-181, Boulder, CO, September 1996.
[9] John Stasko. Using Student-Built Algorithm Animations as Learning Aids. Technical Report GIT-GVU-96-19, Georgia Institute of Technology, August 1996.
[10] John Stasko and Eileen Kraemer. A Methodology for Building Application-Specific Visualizations of Parallel Programs. Journal of Parallel and Distributed Computing, Vol.18, No.2, June 1993, pp.258-264.
[11] Colin Ware. Information Visualization: Design for Perception. Academic Press (1999).