A Digital Drawing Tool for Data Structures

Michael Orsega (orsega AT cs.utk.edu)
Department of Computer Science - The University of Tennessee

Introduction

Computer Science instructors typically sketch example data structures to help students master abstract algorithmic concepts. While lecturing, the instructor updates the sketch to demonstrate each step of an algorithm. Updating may involve redrawing the entire sketch or erasing and then redrawing parts of the original. In either case, it can be time consuming for both the instructors and students to create these sketches and students may have their attention distracted from the lecture as they hurry to copy the sketches into their notes.

One solution is to sketch the structure with a drawing package and then save the sketch for later review by students. However, generic drawing programs only provide simple primitives like lines and rectangles. The result is increased time in creating large data structures.

We propose to create an enhanced drawing application that provides a set of primitive data structure elements and operations. The instructor can use our drawing package to quickly create a data structure and then demonstrate algorithms on it. We envision an interface with a sketching area, an area for captions to be used for operation notation, and a code window where the current operation code can be displayed. Additionally, this application will be able to create a log of operations performed. This log can then be used to animate the algorithm for use both during the lecture and at a later time.

Theoretical Background

Instructors have long made use of graphics and animations to help clarify complex operations in many fields. But the question remains as to how useful these images are for the students. Mayer, et al. has studied the value of dual views in which images are used along with textual information to describe complex, mechanical systems. He and his associates found that illustrations do help to improve the recall of explanative information [10]. As an extension of this knowledge, researchers also experimented with animations and their usefulness [11,12,13]. These studies showed that animations were helpful as a means of creating a connection between the concepts and the application of the concepts. Their results also showed that students learn better from text and images rather than simply text alone.

Work by Palmiter and Elkerton showed mixed results when using animations. They gave a set of instructions to perform a task both with and without an animated demonstration [15]. When tested immediately following the instruction, the subjects who saw the animation performed better and stated that they enjoyed the experience better than those who received only text. However, when the subjects were brought back one week later, the text only participants scored higher on their tests.

In this same study, Palmiter and Elkerton concluded that those students, who were more active in their interactions with the material, retained the information better. This has also been shown in studies by Narayanan and Hegarty [14], Reiber, Buyce and Assad [18] and Stasko [27,24,25,26,8,4].

Previous Research in the area

Numerous disciplines have specific tools to easily develop and convey particular concepts and ideas. For example, engineers have computer-aided design (CAD), web developers have programs such as Dreamweaver, and programmers have GUI development tools. However, teachers have no easy way to sketch data structures and animate the operations performed upon them without writing any computer code.

Although creating animations is not the main thrust of our research, much of the previous work has been with animation tools. One set of tools allows the programmer to make library calls to generate images and/or animations of the structures [5,22,23,28,2,6,17,21]. A second set of tools allows the creation of generic animations from either a common programming language or a new scripting language specifically designed to create the animation [3,7,9]. A third set of tools, JAWAA [16,1] and ANIMAL [19,20] allow for easy drag and drop creation of animations.

While these tools are useful for the creation of animations, they require that the user have a thorough understanding of the algorithm. They also require an in-depth knowledge of either their programming language or their application interface. While most were developed so that the programmer would need little knowledge of their system, some admit that there is a steep learning curve. Additionally, none of these tools allow the user to add comments or notes about the images displayed.

Research Goals

Our research is focused primarily on creating a tool to assist those teaching data structures. We realize that whether or not the use of sketching is helpful to students, instructors have sketched in the past and will continue to sketch in the future. We want to provide a drawing package that will allow the instructor during lecture to quickly and easily create a data structure and then manipulate it. Our tool will be mouse-based since sketch recognition using tablets is still an active research area and an entire dissertation could be devoted to the development of sketch recognition algorithms.

We also envision our tool being used for note making and note taking and to accomplish this goal we plan to capitalize on the research that has proven where animation and images are useful. Specifically we want to provide a dual view mechanism that displays explanatory text and code along with the images. Our caption area will both allow instructors to create notes that augment their sketches and allow students to type in their own notes, thus making the students active participants in the learning process. As noted in the Theoretical Background section, both dual views and active participation improve the learning process.

Finally our tool can help improve communication. Instructors might assign homework problems for the students to complete with the tool. Or possibly instructors and students in distance education courses could use the tool to better communicate questions and answers about algorithms.

Current Stage in the Program of Study

I am in my second year as a PhD student at The University of Tennessee. I hope to be finished with classes in Spring 2007 and take the PhD Qualifying Exam in Fall Semester 2007. Currently, I have completed a literature review on this subject area and started to play with initial designs for this tool. I have not yet written or presented my proposal in an oral examination.

What I Hope to Gain from Participating in the Doctorial Consortium

By participating in the Doctorial Consortium, I hope to get the chance to share my ideas on this subject with others who are knowledgeable in the area of computer science education. I feel that the feedback that I receive can be especially valuable in helping me shape my project and my proposal for my dissertation committee. I also hope to learn of other resources or related literature that I may have overlooked.

Bibliography

1
A. Akingbade, T. Finley, D. Jackson, P. Patel, and S. H. Rodger.
Jawaa: easy web-based animation from cs 0 to advanced cs courses.
In SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 162-166, New York, NY, USA, 2003. ACM Press.

2
R. S. Baker, M. Boilen, M. T. Goodrich, R. Tamassia, and B. A. Stibel.
Testers and visualizers for teaching data structures.
In SIGCSE '99: The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, pages 261-265, New York, NY, USA, 1999. ACM Press.

3
M. H. Brown.
Exploring algorithms using balsa-ii.
Computer, 21(5):14-36, 1988.

4
M. Byrne, R. Catrambone, and J. Stasko.
Evaluating animations as student aids in learning computer algorithms, 1999.

5
H. L. Dershem, R. L. McFall, and N. Uti.
Animation of java linked lists.
In SIGCSE '02: Proceedings of the 33rd SIGCSE technical symposium on Computer science education, pages 53-57, New York, NY, USA, 2002. ACM Press.

6
K. M. Hansen, A. P. Ravn, and V. Stavridou.
From safety analysis to software requirements.
Software Engineering, 24(7):573-584, 1998.

7
S. Hansen, N. H. Narayanan, and M. Hegarty.
Designing educationally effective algorithm visualizations.
J. Vis. Lang. Comput., 13(3):291-317, 2002.

8
C. D. Hundhausen, S. A. Douglas, and J. T. Stasko.
A meta-study of algorithm visualization effectiveness.
J. Vis. Lang. Comput., 13(3):259-290, 2002.

9
H. Lieberman and C. Fry.
Bridging the gulf between code and behavior in programming.
In CHI '95: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 480-486, New York, NY, USA, 1995. ACM Press/Addison-Wesley Publishing Co.

10
R. E. Mayer.
Systematic thinking fostered by illustrations in scientic text.
Journal of Educational Psychology, 81(2):240-246, 1989.

11
R. E. Mayer and R. B. Anderson.
Animations need narrations: An experimental test of a dual-coding hypothesis.
Journal of Educational Psychology, 83(4):484-490, 1991.

12
R. E. Mayer and R. B. Anderson.
The instructive animation: Helping students build connections between words and pictures in multimedia learning.
Journal of Educational Psychology, 84(4):444-452, 1992.

13
R. E. Mayer and V. K. Sims.
For whom is a picture worth a thousand words? extensions of a dual-coding theory of multimedia learning.
Journal of Educational Psychology, 86(3):389-401, 1994.

14
N. H. Narayanan and M. Hegarty.
Multimedia design for communication of dynamic information.
Int. J. Hum.-Comput. Stud., 57(4):279-315, 2002.

15
S. Palmiter and J. Elkerton.
An evaluation of animated demonstrations of learning computer-based tasks.
In CHI '91: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 257-263, New York, NY, USA, 1991. ACM Press.

16
W. C. Pierson and S. H. Rodger.
Web-based animation of data structures using jawaa.
In SIGCSE '98: Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education, pages 267-271, New York, NY, USA, 1998. ACM Press.

17
R. Rasala.
Automatic array algorithm animation in c++.
In SIGCSE '99: The proceedings of the thirtieth SIGCSE technical symposium on Computer science education, pages 257-260, New York, NY, USA, 1999. ACM Press.

18
L. P. Rieber, M. J. Boyce, and C. Assad.
The effects of computer animation on adult learning and retrieval tasks.
J. Comput. Based Instruct., 17(2):46-52, 1990.

19
G. Rößling and B. Freisleben.
Animal: A system for supporting multiple roles in algorithm animation, 2002.

20
G. Rößling, M. Schüler, and B. Freisleben.
The animal algorithm animation tool.
In ITiCSE '00: Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education, pages 37-40, New York, NY, USA, 2000. ACM Press.

21
R. S. Sangwan, J. F. Korsh, and J. Paul S. LaFollette.
A system for program visualization in the classroom.
In SIGCSE '98: Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education, pages 272-276, New York, NY, USA, 1998. ACM Press.

22
T. Shimomura and S. Isoda.
Linked-list visualization for debugging.
IEEE Softw., 8(3):44-51, 1991.

23
J. Stasko.
Animating algorithms with xtango.
SIGACT News, 23(2):67-71, 1992.

24
J. Stasko, A. Badre, and C. Lewis.
Do algorithm animations assist learning?: an empirical study and analysis.
In CHI '93: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 61-66, New York, NY, USA, 1993. ACM Press.

25
J. T. Stasko.
Tango: A framework and system for algorithm animation.
Computer, 23(9):27-39, 1990.

26
J. T. Stasko.
Using direct manipulation to build algorithm animations by demonstration.
In CHI '91: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 307-314, New York, NY, USA, 1991. ACM Press.

27
J. T. Stasko.
Using student-built algorithm animations as learning aids.
In SIGCSE '97: Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education, pages 25-29, New York, NY, USA, 1997. ACM Press.

28
J. T. Stasko and E. Kraemer.
A methodology for building application-specific visualizations of parallel programs.
J. Parallel Distrib. Comput., 18(2):258-264, 1993.

About this document ...

A Digital Drawing Tool for Data Structures

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -no_navigation -no_subdir dc07.tex

The translation was initiated by Michael Orsega on 2006-11-29


Michael Orsega 2006-11-29