A Digital Drawing Tool for Data Structures
Michael Orsega (orsega AT cs.utk.edu)
Department of Computer Science - The University of Tennessee
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.
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].
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.
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.
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