Applications of Visual Algorithm Simulation

Applications of Visual Algorithm Simulation

Ari Korhonen (Helsinki University of Technology, Finland)
DOI: 10.4018/978-1-60566-774-4.ch011
OnDemand PDF Download:


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


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.

Key Terms in this Chapter

Automatic Assessment: is computer-aided grading method for various types of exercises.

Algorithm Visualizations: are abstract graphical representations that provide an insight into how small sections of code (algorithms) compute.

Algorithm Simulation Exercises: are simulation exercises solved by means of visual algorithm simulation, which are typically graded in terms of automatic assessment.

Visual Algorithm Simulation: is direct manipulation, which not only allows actions in the level of the representation, but also alters the real underlying implemented data structures.

Direct Manipulation: is a human-computer interaction style, which involves continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback (Wikipedia).

Software Visualization: is an active research field in software engineering that uses graphics and animation to illustrate different aspects of software.

Algorithm Animation: is the process of visualizing the behavior of an algorithm by abstracting the data, operations, and semantics of the algorithm by creating dynamic graphical views of those abstractions.

Complete Chapter List

Search this Book:
Editorial Advisory Board
Table of Contents
Evon M. O. Abu-Taieh, Asim A. El-Sheikh
Chapter 1
Istvan Molnar
This chapter attempts to define the knowledge body of simulation and describes the underlying principles of simulation education. It argues that any... Sample PDF
Simulation: Body of Knowledge
Chapter 2
Evon M.O. Abu-Taieh, Jeihan M.O. Abutayeh
This paper investigates over 50 simulation packages and simulators used in vocational and course training in many fields. Accordingly, the 50... Sample PDF
Simulation Environments as Vocational and Training Tools
Chapter 3
Brian L. Heath, Raymond R. Hill
Models and simulations have been widely used as a means to predict the performance of systems. Agentbased modeling and agent distillations have... Sample PDF
Agent-Based Modeling: A Historical Perspective and a Review of Validation and Verification Efforts
Chapter 4
Sattar J. Aboud, Mohammad Al Fayoumi, Mohamed Alnuaimi
Unfortunately, cost and time are always restraints; the impact of simulation models to study the dynamic system performance is always rising. Also... Sample PDF
Verification and Validation of Simulation Models
Chapter 5
Thomas Wutzler, Hessam Sarjoughian
This chapter introduces the usage of DEVS for the purpose of implementing interoperability across heterogeneous simulation models. It shows that the... Sample PDF
DEVS-Based Simulation Interoperability
Chapter 6
Lucia Cassettari, Roberto Mosca, Roberto Revetria
This chapter describes the set up step series, developed by the Genoa Research Group on Production System Simulation at the beginning of the ’80s... Sample PDF
Experimental Error Measurement in Monte Carlo Simulation
Chapter 7
Pedro J.A. Sebastião, Francisco A.B. Cercas, Adolfo V.T. Cartaxo
Simulation can be a valuable tool for wireless communication system’s (WCS) designers to assess the performance of its radio interface. It is common... Sample PDF
Efficient Discrete Simulation of Coded Wireless Communication Systems
Chapter 8
Hana Kubátová
The paper presents the principles of using Petri Net formalism in hardware design courses, especially in the course “Architecture of peripheral... Sample PDF
Teaching Principles of Petri Nets in Hardware Courses and Students Projects
Chapter 9
Lorenzo Capra, Walter Cazzola
Most discrete-event systems are subject to evolution during lifecycle. Evolution often implies the development of new features, and their... Sample PDF
An Introduction to Reflective Petri Nets
Chapter 10
Lorenzo Capra, Walter Cazzola
Industrial/business processes are an evident example of discrete-event systems which are subject to evolution during life-cycle. The design and... Sample PDF
Trying Out Reflective Petri Nets on a Dynamic Workflow Case
Chapter 11
Ari Korhonen
Understanding data structures and algorithms is an integral part of software engineering and elementary computer science education. However, people... Sample PDF
Applications of Visual Algorithm Simulation
Chapter 12
Ghada Al-Hudhud
The chapter introduces a modern and advanced view and implementations of Virtual reality systems. Considering the VR systems as tools that can be... Sample PDF
Virtual Reality: A New Era of Simulation and Modelling
Chapter 13
Gyorgy Lipovszki, Istvan Molnar
In this chapter the authors describe a program system that implements a Discrete Event Simulation (DES) development environment. The simulation... Sample PDF
Implementation of a DES Environment
Chapter 14
Andreas Tolk
This chapter describes the use of simulation systems for decision support in support of real operations, which is the most challenging application... Sample PDF
Using Simulation Systems for Decision Support
Chapter 15
David Gamez
This chapter is an overview of the simulation of spiking neural networks that relates discrete event simulation to other approaches and includes a... Sample PDF
The Simulation of Spiking Neural Networks
Chapter 16
Mouhib Alnoukari, Asim El Sheikh, Zaidoun Alzoabi
Simulation and data mining can provide managers with decision support tools. However, the heart of data mining is knowledge discovery; as it enables... Sample PDF
An Integrated Data Mining and Simulation Solution
Chapter 17
Nurul I. Sarkar, Richard Membarth
Due to the complex nature of computer and telecommunication networks, it is often difficult to predict the impact of different parameters on system... Sample PDF
Modeling and Simulation of IEEE 802.11g using OMNeT++
Chapter 18
Nurul I. Sarkar
Computer simulation is becoming increasingly popular among computer network researchers for performance modeling and evaluation of computer and... Sample PDF
Performance Modeling of IEEE 802.11 WLAN using OPNET: A Tutorial
Chapter 19
Hussein Al-Bahadili
This chapter presents a description of a newly developed research-level computer network simulator, which can be used to evaluate the performance of... Sample PDF
On the Use of Discrete-Event Simulation in Computer Networks Analysis and Design
Chapter 20
Alexander Kolker
This chapter describes applications of the discrete events simulation (DES) and queuing analytic (QA) theory as a means of analyzing healthcare... Sample PDF
Queuing Theory and Discrete Events Simulation for Health Care: From Basic Processes to Complex Systems with Interdependencies
Chapter 21
Raed M. Al-Qirem, Saad G. Yaseen
The Jordanian banks and the risk analysts in particularly are seeking to adapt and buy new analytical techniques and information systems that help... Sample PDF
Modelling a Small Firm in Jordan Using System Dynamics
Chapter 22
Mohamed Marzouk
Construction operations are performed under different working conditions including (but not limited to) unexpected weather conditions, equipment... Sample PDF
The State of Computer Simulation Applications in Construction
About the Contributors