Applications of Visual Algorithm Simulation

Applications of Visual Algorithm Simulation

Ari Korhonen (Helsinki University of Technology, Finland)
DOI: 10.4018/978-1-61350-456-7.ch304
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Understanding data structures and algorithms is an integral part of software engineering and elementary computer science education. However, people usually have difficulty in understanding abstract concepts and processes such as procedural encoding of algorithms and data structures. One way to improve their understanding is to provide visualizations to make the abstract concepts more concrete. In this chapter, we represent a novel idea to promote the interaction between the user and the algorithm visualization system called visual algorithm simulation. As a proof of concept, we represent an application framework called Matrix that encapsulates the idea of visual algorithm simulation. The framework is applied by the TRAKLA2 learning environment in which algorithm simulation is employed to produce algorithm simulation exercises. Moreover, we discuss the benefits of such exercises and applications of visual algorithm simulation in general.
Chapter Preview
Top

Introduction

Data structures and algorithms are important core issues in computer science education. They are also complex concepts, thus difficult to grasp by novice learners. Fortunately, algorithm animation, visual debugging and algorithm simulation are all suitable methods to aid the learning process. Much research has been carried out to identify the great number of issues that we must take into account while designing and creating effective visualizations and algorithm animation for teaching purposes (Baecker, 1998; Brown & Hershberger, 1992; Fleischer & Kucera, 2001; Gloor, 1998; Miller, 1993). See, for example, the techniques developed for using color and sound (Brown & Hershberger, 1992) or hand-made designs (Fleischer & Kucera, 2001) to enhance the algorithm animations. We argue, however, that these are only minor details (albeit important ones) in the learning process as a whole. In order to make a real difference here, we should change the point of view and look at the problem from the learner’s perspective. How can we make sure the learner actually gets the picture? It is not what the learner sees but what he or she does. In addition, we argue that no matter what kind of visualizations the teacher has available, the tools cannot compete in their effectiveness with environments in which the learner must perform some actions in order to become convinced of his or her own understanding.

From the pedagogical point of view, for example, a plain tool for viewing the execution of an algorithm is not good enough (C. D. Hundhausen, Douglas, & Stasko, 2002; Naps et al., 2003). Even visual debugging cannot cope with the problem because it is always bound to the actual source code. It is still the system that does all the work and the learner only observes its behavior. At least we should ensure that a level of progress in learning has taken place. This requires an environment where we can give and obtain feedback on the student’s performance.

Complete Chapter List

Search this Book:
Reset