Computer Games for Algorithm Learning

Computer Games for Algorithm Learning

Sahar Shabanah
DOI: 10.4018/978-1-60960-495-0.ch048
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Data structures and algorithms are important foundation topics in computer science education. However, they are often complex and hard to understand. Therefore, this chapter introduces a new learning strategy that benefits from computer games’ popularity and engagement to help students understand algorithms better by designing computer games that visualize algorithms. To teach an algorithm, an educational computer game, namely an Algorithm Game must have a game-play that simulates the behavior of the visualized algorithm and graphics depict the features of its data structure. Algorithm games attract students to learn algorithm using active engagement, enjoyment, and internal motivation. Algorithm Games attributes and genres that make them suitable to visualize algorithms have been specified. Various concepts in computer game design have been applied in the development of several algorithm games prototypes for algorithms, such as Binary Search, Bubble Sort, Insertion Sort, Selection Sort, Linked List, and Binary Search Tree Operations.
Chapter Preview
Top

Introduction

An Algorithm is defined as “a sequence of computational steps that takes a value, or set of values, as input and produces a value, or set of values, as output” (Corner & Leiserson, 2001). Algorithms are at the heart of every nontrivial computer application. Every computer scientist, every professional programmer, and every computer science student should know about basic algorithms and generic data structures. Moreover, teaching algorithms is one of the main activities that takes place in the most of computer science classes.

Algorithms usually model complicated concepts, refer to abstract mathematical notions, or describe complex dynamic changes in data structures to solve relatively difficult problems. Consequently, teaching algorithms is a challenging task facing computer science instructors, requiring much explaining and illustrating. Teaching aids other than chalkboard and view-graph are always needed to help students learn and understand algorithms better (Baecker, 1998). Researchers have been trying to find the best way to learn and teach algorithms. One of the best known approaches, known as Algorithm Visualization, uses graphics, sounds, and animations to communicate how algorithms work (Eades & Zhang, 1996).

Since the production of the movie Sorting Out Sorting (Baecker & Sherman, 1981), a great number of algorithm visualization systems have been built with the promise of improving algorithm learning. However, their promise as helpful educational tools is mostly unsatisfied. Many researchers, who conducted experiments to determine the efficiency of existing algorithm visualization systems in teaching algorithms, have reported unpromising results. For example, (Badre et al., 1992), in their evaluation of algorithm visualization systems as instructional aids, found that there is no evidence that algorithm visualization systems really enhance the understanding of algorithms, despite the learners’ interest to use these systems. Moreover, a study on algorithm visualization systems efficiency concluded that algorithm animations have unreliable effects on student understanding of algorithms (Stasko et al., 1993). In addition, (Byrne et al., 1996) state, “the benefits of animations are not obvious.” In a meta-study of over twenty empirical experiments conducted to assess existing algorithm visualization systems, (Hundhausen & Brown, 2002) describe algorithm visualization systems as having “failed to catch on in mainstream computer science education,” and conclude that “studies in which students merely viewed visualizations did not demonstrate significant learning advantages over students who used conventional learning materials.”

The failure of current algorithm visualization systems as effective educational tools results for two main reasons. First, the developers of most algorithm visualization systems usually focus on graphics and sound as opposed to pedagogical, issues in their designs (Stern et al., 1999). Second, a small number of algorithm visualization systems allow learners to interact effectively with their displayed visualizations despite the importance of such engagement. In fact, algorithm visualization systems become very successful when engaging students in the process of learning (Hundhausen et al., 2002) since “what the students do, not what they see, has the greater impact on learning” (Hundhausen & Douglas, 2000). Moreover, the more learners interact with algorithm visualization systems, the better they understand the algorithms these systems visualize (Naps, 2005).

Computer Games are software systems that involve interaction with a user interface to generate visual feedback on a computer or a video device and utilize many elements, such as fun, play, winning/losing, and competition. Computer games that involve learning of certain knowledge are called Educational Computer Games (Wolf, 2002). Despite the frustration with educational computer games in the past; recently, they reemerged as Serious Games, which have serious purposes, such as training, advertising, simulation, and education ( Nielsen, 2005). (Chamberlin, 2003) describes computer games to have many roles, such as “tutoring, amusement, exploring new skills, promoting self-esteem, drill and practice, or creating a change in attitudes.” Computer games fully interact with players and encourage them to think and act. Furthermore, according to (Rieber, 1996), “playing computer games involves active engagement” because computer games support all components of flow (Jones, 1998) as defined by (Csikszentmihalyi, 1993). In fact, recent research shows that computer games build content and activities into high levels of motivation and interest that are useful in reinforcing a wide variety of learning values (Gee, 2004).

Key Terms in this Chapter

RPG: A role-playing game in which players assume the roles of characters.

Push: Insert an item into the top of a stack data structure.

Algorithm Games: Computer games with a game-play that simulates the behavior of the visualized algorithm and graphics depict the features of its data structure.

Games Design Document: Prepared by game designers, the design document contains information about the core elements that make a game.

Algorithms: A sequence of computational steps that transform the input into the output.

Pop: Delete an item from the top of a stack data structure.

Computer Games: Software systems that involve interaction with a user interface to generate visual feedback on a computer or a video device and utilize many elements, such as fun, play, winning/losing, and competition.

VCR: Video recorded.

Educational Games: Computer games that involve learning of certain knowledge.

Algorithm Visualization: Showing all the states of the data structures during the execution of an algorithm.

Data Structure: A data structure in computer science is a way of storing data to be used efficiently.

Complete Chapter List

Search this Book:
Reset