Animations to Assist Learning Some Key Computer Science Topics

Osman Balci

William S. Gilley
Robin J. Adams
Emre Tunar
N. Dwight Barnette

Department of Computer Science
660 McBryde Hall, MC 0106
Virginia Tech
Blacksburg, VA 24061, U.S.A.


The purpose of the work presented herein is to provide multimedia course material with animations to assist learning some key Computer Science topics on the World Wide Web. The work is presented in eight learning modules: Algorithms, Artificial Intelligence, Data Structures, Machine Architecture, Number Systems, Operating Systems, Programming Languages, and Software Engineering. Each module consists of a set of lessons with animations and interactive components including review questions. The work consists of 44 animations, 2,008 files, and 255 folders, totaling 15.5MB. The learning modules enable educators to provide a learning environment beyond the bounds of the classroom either to supplement their in-class teaching or as part of a distance learning course. The animations and interactive components are expected to improve the effectiveness of learning the covered topics.


Due to the rapid proliferation of the World Wide Web (Web) in recent years, many educators seek to improve the effectiveness of their instruction by providing innovative Web-based course material to their students. Motivated by this goal and supported by a grant from the Center for Innovation in Learning at Virginia Tech, we developed the following eight Web-based learning modules:

  1. Algorithms - Definition and specification of algorithms, with a comparison and analysis of several sorting algorithms as examples.
  2. Artificial Intelligence - Overview of current applications in this discipline.
  3. Data Structures - Explanation of basic data structures, including an introduction to computer memory and pointers, and a comparison of logical and physical representations of commonly used data structures.
  4. Machine Architecture - Explanation of data storage, gates and circuits, and the central processing unit.
  5. Number Systems - Discussion of number representation and arithmetic in number systems other than the decimal number system, with a focus on binary numbers and binary arithmetic.
  6. Operating Systems - Explanation of the purpose of operating systems and the major components that make up an operating system.
  7. Programming Languages - Explanation of the fundamental concepts in procedural programming languages.
  8. Software Engineering - Introduction to software life cycle models and an overview of the procedural and object-oriented paradigms.

Each module consists of a set of lessons and review questions with embedded interactive components implemented as Flash animations or Java applets. These modules enable educators to provide a learning environment beyond the bounds of the classroom either to supplement their in-class teaching or as part of a distance learning course. The module topics and their contents are selected based on the authors' interests and the available project resources. The list of modules above is not intended to be comprehensive and their contents are not intended to be complete. We strongly encourage other authors to publish additional material in this journal to achieve more comprehensiveness and completeness to assist learning key Computer Science (CS) topics.

The intended audience for our work consists of the undergraduate CS students, students minoring or taking courses in CS, and anyone who is interested in learning key CS topics.

Four main objectives guided the development of the learning modules: (1) providing access to the modules on the Web, (2) teaching the topics in an interactive, animated manner, (3) reusing existing material, and (4) implementing independent, extendable modules.

1. Providing Access to the Modules on the Web

The Web affords unique opportunities to assist students in learning. Naps et al. [1997] discuss several particular advantages to using the Web as a medium for delivering interactive material. These include remote accessibility to materials, support for distance learning, the development of system independent applications, and the use of hypermedia.

2. Teaching the Topics in an Interactive, Animated Manner

Presenting material in an interactive manner is an effective technique for making learning memorable. A good example of this principle is ELIZA, an early program designed to mimic human intelligence through conversation. In his introductory text to CS, Brookshear [1997] cites this example and then attempts to describe the functionality of the program. His use of this illustration is motivated by the philosophical question of whether computers can possess real intelligence. While describing the ELIZA system does give students a general idea of its purpose, it is not nearly as memorable as using ELIZA. We espoused the latter approach to addressing the philosophical question of computer intelligence so that students can decide for themselves whether computer intelligence can match human intelligence.

Presenting material in an animated manner is also an effective technique for assisting learning. Wetzel et al. [1994] describe a variety of characteristics that make animations uniquely effective for instruction. First, animations allow an instructor to emphasize the important parts of a subject by removing unnecessary and distracting details. Second, animations have the ability to visually present subjects and ideas that would be difficult to illustrate in the real world. Third, animations can aid in discrimination by presenting cues that direct the viewer’s attention to salient points of the presentation. Throughout the various animations presented herein, we have attempted to make use of these characteristics in order to make learning more effective.

3. Reusing Existing Material

Because of the large amount of time needed to develop quality materials, reusing existing materials as much as possible was a crucial objective. The philosophy that guided this principle was "Don’t reinvent the wheel!" As a result, many of the Java applets we embedded in the modules were included with the permission of the author and reused to illustrate various topics. This approach helped significantly to mitigate the time challenge of developing quality educational material. While most of the reused applets required some modifications, these changes were significantly less time consuming than writing a comparable applet from scratch. A good example of reuse in this project is the Eight-puzzle applet in the Artificial Intelligence module. Locating and modifying this applet required approximately 20 person hours while developing a similar applet from scratch would require anywhere from 50 to 100 person hours.

4. Implementing Independent, Extendable Modules

The objective of implementing independent, extendable modules was another strategy for mitigating the challenges of developing interactive material. While the previous objective focuses on reducing our development costs, this objective focuses on reducing the costs of future developers by striving to achieve a high level of cohesion in each module. By reusing these modules, educators can immediately benefit from the development time invested during this project with minimal added investment of their own. In addition, the high level of cohesion within modules allows for easier development and integration of future modules.


The work leading to the development of the modules presented herein was funded by the Center for Innovation in Learning at Virginia Tech. The authors thank the anonymous referees for their excellent comments and suggestions.


  1. Brookshear, J. G. (1997), Computer Science: An Overview, Fifth Edition, Addison-Wesley, Reading, MA.
  2. Naps, T., J. Bergin, R. Jiménez-Peris, M. McNally, M. Patiño-Martínez, V. Proulx and J. Tarhio (1997), "Using the WWW as the delivery mechanism for interactive, visualization-based instructional modules," In Supplemental Proceedings of the Conference on Integrating Technology into Computer Science Education: Working Group Reports and Supplemental Proceedings (ITiCSE-WGRSP '97), ACM, New York, NY, pp. 13-26.
  3. Wetzel, C., P. Radtke and H. Stern (1994), Instructional Effectiveness of Video Media, Lawrence Erlbaum Associates, Hillsdale, NJ.

This web site requires Macromedia Flash Player 4.0 or higher.
Please see the Requirements Page for more information.