Algorithm Visualization
Algorithm Visualization
of the Field
CLIFFORD A. SHAFFER
Virginia Tech
MATTHEW L. COOPER
Microsoft Corp
ALEXANDER JOEL D. ALON, MONIKA AKBAR, MICHAEL STEWART,
SEAN PONCE, and STEPHEN H. EDWARDS
Virginia Tech
We present findings regarding the state of the field of Algorithm Visualization (AV) based on our
analysis of a collection of over 500 AVs. We examine how AVs are distributed among topics, who
created them and when, their overall quality, and how they are disseminated. There does exist
a cadre of good AVs and active developers. Unfortunately, we found that many AVs are of low
quality, and coverage is skewed toward a few easier topics. This can make it hard for instructors
to locate what they need. There are no effective repositories of AVs currently available, which
puts many AVs at risk for being lost to the community over time. Thus, the field appears in
need of improvement in disseminating materials, propagating known best practices, and informing
developers about topic coverage. These concerns could be mitigated by building community and
improving communication among AV users and developers.
Categories and Subject Descriptors: E.1 [Data Structures]: E.2 [Data Storage Representa-
tions]: K.3.2 [Computers and Education]: Computer and Information Science Education
General Terms: Algorithms, Measurement, Design
Additional Key Words and Phrases: Algorithm animation, algorithm visualization, AlgoViz Wiki,
community, data structure visualization, free and open source software
1. INTRODUCTION
Algorithms and data structures form one cornerstone of an undergraduate com-
puter science education. A technique for improving instruction in this critical
area is to include algorithm and data structure visualizations and animations
(hereafter referred to as “algorithm visualizations” or “AVs”) into the curricu-
lum. AVs have a long history in computer science education, dating from the
1981 video “Sorting out Sorting” by Ronald Baeker and the BALSA system
[Brown and Sedgewick 1984]. Since then, hundreds of AVs have been imple-
mented and provided free to educators, and scores of papers have been written
about them [AlgoViz.org 2010]. Good AVs bring algorithms to life by graphi-
cally representing their various states and animating the transitions between
those states. They illustrate data structures in natural, abstract ways instead
of focusing on memory addresses and function calls.
AVs are naturally attractive to educators, who nearly universally view them
positively [Naps et al. 2002]. They are also consistently “liked” by students
[Gurka and Citrin 1996; Stasko et al. 2001]. But an important question per-
sists: Are they effective at educating computer science students? There has
been some debate in the literature as to whether AVs are effective in practice.
Some studies have shown the classic dismissal for many technological interven-
tions in education: “no significant difference” [Gurka and Citrin 1996; Hund-
hausen and Douglas 2000; Jarc et al. 2000]. Other studies have shown that AVs
can indeed improve understanding of the fundamental data structures and al-
gorithms that are part of a traditional computer science curriculum [Lawrence
et al. 1994; Byrne et al. 1996; Hansen et al. 2000; Grissom et al. 2003]. An im-
portant conclusion from the literature is that to make AVs pedagogically useful,
they must support student interaction and active learning [Naps et al. 2002].
Certainly, many AVs exist and are widely (and freely) available via the Inter-
net. Unfortunately, those of high quality can be lost among the many of lower
quality.
So we see that (a) while many AVs exist, relatively few are of true value,
and (b) some AVs can be demonstrated to have pedagogical value, yet it is
also quite possible to use AVs in ways that have no pedagogical effect. These
results indicate that creating and deploying effective AVs is difficult. There is a
growing body of literature that investigates how to create pedagogically useful
AVs [e.g., Hundhausen et al. 2002; Saraiya et al. 2004a; Naps et al. 2002, 2003;
Rössling et al. 2006]. Yet, there is still much to be done before we are at the
point where good quality AVs on most topics of interest are widely recognized
and adopted.
The purpose of this article is to provide a summary of the state of the field
in terms of existing AV artifacts. To bound the content area, we focused our
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
Algorithm Visualization: The State of the Field · 9: 3
2. LITERATURE REVIEW
In addition to many hundreds of individual AVs created over the years, there
have also been many systems created to support AV development. A signifi-
cant amount of research has been devoted to understanding the pedagogical
effectiveness of AVs. We examine some of the literature in this section.
debugging software, rather than conceptual views of data structures for the
purpose of education [Stasko et al. 1998; Diehl 2007].
The other major component of the wiki is an annotated bibliography of AV-
related research [AlgoViz.org 2010]. In creating this bibliography, we seek to
provide a starting point for newcomers to the field as well as a repository of
important work to which practitioners can refer. The annotated bibliography
now contains more than 500 papers with BibTeX citations for all and brief
descriptions and reviews for about 100 of the papers.
Fig. 1. Sample graph output from the query tool showing AV counts by topic.
across a page that had links to collections of AVs, we would follow those links
to capture any new ones not yet in our collection.
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
Algorithm Visualization: The State of the Field · 9: 13
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
9: 14 · C. A. Shaffer et al.
algorithms. While sorting is a key topic for undergraduate data structures and
algorithms courses, this disproportionate representation overstates its impor-
tance. Further, many of these sorting AVs are variations on the classic “Sorting
Out Sorting” video [Baecker and Sherman 1981] and merely show bars being
swapped. In contrast, most specialized and advanced topics are poorly covered.
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
Algorithm Visualization: The State of the Field · 9: 15
Table III. Counts for Projects or Institutions Producing Significant Numbers of AVs
“One-offs” (1–5 visualizations) 161 31%
Small shops (6–10 visualizations) 52 10%
Algorithms In Action Project (Melbourne) 6
Borowski’s Sorting Demos 6
University of Pittsburgh 6
JAVENGA 6
Michael Goodrich’s Collection 7
University of Patras 7
Kovac’s Tree Project 7
JCAT 7
Prolific teams (10+ visualizations) 127 25%
Jacobs’ Animated Lectures 12
University of Oldenburg/OLLI 13
University of Auckland 15
IIT Kanpur 18
Virginia Tech 19
University of Canterbury 22
University of Maryland Spatial Data Structures 28
Major Visualization Project 182 35%
JAWAA and JFLAP (Duke University) 11
IDSV (University of Maryland, University College) 12
Data Structures Navigator (Phillips-University, Marburg) 15
JHAVÉ (University of Wisconsin, Oshkosh) 22
TRAKLA2 (Helsinki University of Technology) 28
ALVIE (University of Florence) 30
Animal (TU Darmstadt) 31
Data Structures Visualization (University of San Francisco) 33
For instance, only 18 AVs (3.5%) cover compression algorithms and 13 of those
are on Huffman coding. Even worse, a fundamental topic for upper-division
courses like N P-completeness gets attention in only 9 AVs (< 2%). This imbal-
ance shows a need for new AVs that address underrepresented areas.
line on what is an AV and what is static course material. We are still strug-
gling with how to decide this. We also note that because our search procedure
consisted of a great deal of manual link following and URL manipulation, once
a single AV from a collection or small shop was added to the catalog, the en-
tirety of that collection was soon added. This ensures that we probably have
cataloged AVs from the groups and projects with at least some visibility. The
AVs we missed are presumably heavily skewed towards one-offs and smaller
efforts.
5. CONCLUSIONS
While many good AVs are available, the need for more and higher quality AVs
continues. There are many topics for which no satisfactory AVs are avail-
able. This is especially true for more difficult material such as B-trees or N P-
completeness. As yet there seems to be no organized movement to satisfy this
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
9: 18 · C. A. Shaffer et al.
need. On the other hand, the theoretical foundations for creating effective AVs
appear to be steadily improving. More articles are appearing regarding effec-
tive use of AVs in courses, and a body of work has begun to form regarding how
to develop effective AVs in the first place. While more fundamental research
on how to develop and use AVs is necessary, we also simply need more imple-
menters to produce more quality AVs. Once these AVs are created, educators
must be able to find them.
Currently, much AV development seems to occur in a social vacuum. While
the larger developers are aware of each other’s efforts (as evidenced by partic-
ipation in activities such as ITiCSE working groups [Naps et al. 2002, 2003;
Rössling et al. 2006]), most smaller developers of AVs do not seem aware of
lessons learned from effectiveness studies. Instead, they seem to be repeating
the same mistakes as their predecessors. Additionally, it is not easy for users
to find guidance on issues such as how to find the best AVs to use, and what are
pedagogically effective ways to use them. Our proposed remedy for this situ-
ation is to bring various AV stakeholders—developers, educators, researchers,
and end users—together into a community. We believe that enhanced commu-
nication will lead to dissemination of knowledge and good ideas, higher quality
AVs, and better educational outcomes from the use of AVs.
What will it take to create a community of AV stakeholders? We believe that
three things are necessary (or at least desirable): opportunities for interaction,
a good courseware repository, and up-to-date statistics.
While digital communities probably will never replace the traditional birds-
of-a-feather sessions and conference workshops at conferences such as SIGCSE
and ITiCSE, having an online place for informal discussion and knowledge dis-
semination should help improve the field [Harrison and Dourish 1996]. Online
communities typically facilitate asynchronous communication using discussion
forums and/or e-mail listservs.
Educators also need a dependable collection of AVs to draw on, either di-
rectly in service of teaching or as a base for creating new AVs. Small-scale
developers of AVs would benefit from access to existing AV implementations
for ideas and perhaps for code to quickly get their own projects prototyped. The
computer science education community has created some courseware reposito-
ries, such as the collection of materials submitted to JERIC [JERIC 2008] (now
renamed The ACM Transactions on Computing Education) and the CITIDEL
repository [CITIDEL 2007]. In particular, since the advent of the ACM Digi-
tal Library [Association for Computing Machinery 2010], CITIDEL (now being
replaced by the Ensemble project) has repositioned itself from a collection of
mainly publications (i.e., journal articles and conference papers) to a repository
for educational resources. The ACM Transactions on Computing Education and
its contributed courseware are indexed as part of the ACM Digital Library, hy-
pothetically allowing for easy searching. While the ACM Digital Library is a
huge collection, it does not appear to contain significant amounts of course-
ware in general or AVs in particular. Equally important, it does not provide
adequate search tools for courseware or AVs. The bulk of ACM’s materials are
papers, typically organized by publication venue. There is no support for brows-
ing of courseware separate from the (overwhelming) body of noncourseware
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
Algorithm Visualization: The State of the Field · 9: 19
when we developed the initial version of the AlgoViz Portal.1 The AlgoViz
Portal is implemented in the Drupal content management system, and is ex-
pected to completely replace the MoinMoin implementation during 2010. While
not technically a wiki, the AlgoViz Portal implementation provides many of
the same features (such as user-editable pages) and more (user forums and a
searchable bibliography). The AlgoViz Portal seeks to provide many opportuni-
ties for community involvement in the site.
ACKNOWLEDGMENT
REFERENCES
A LGO V IZ W IKI . 2010. Data structures and algorithm visualization wiki.
http://web-cat.cs.vt.edu/AlgovizWiki.
A LGO V IZ . ORG. 2010. Annotated bibliography of the AV research literature.
http://algoviz.org/biblio.
A SSOCIATION FOR C OMPUTING M ACHINERY. 2010. The ACM digital library. http://portal.acm.org.
B AECKER , R. AND S HERMAN, D. 1981. Sorting out sorting. Video.
B RABEC, F. AND S AMET, H. 2003. Maryland spatial index demos.
http://donar.umiacs.umd.edu/quadtree/.
B ROWN, M. 1992. An introduction to Zeus. In Proceedings of the SIGCHI Conference on Human
Factors in Computing Systems (CHI’92). 663–664.
B ROWN, M., N AJORK , M., AND R AISAMO, R. 1997. A java-based implementation of collaborative
active textbooks. In Proceedings of the IEEE Symposium on Visual Languages (VL’97). 372–379.
B ROWN, M. H. AND S EDGEWICK , R. 1984. A system for algorithm animation. In Proceedings of
the 11th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH’84).
177–186.
B YRNE , M. D., C ATRAMBONE , R., AND S TASKO, J. T. 1996. Do algorithm animations aid learning?
Tech. rep. GIT-GVU-96-18, Georgia Institute of Technology.
CITIDEL 2007. Computing and information technology interactive digital educational library.
http://www.citdel.org.
C ONNEXIONS S CHOLARLY C ONTENT R EPOSITORY. 2010. http://cnx.org.
C RESCENZI , P. 2010. Alvie 3.0. http://alvie.algoritmica.org/.
C RESCENZI , P., G AMBOSI , G., AND G ROSSI , R. 2006. Strutture di Dati e Algoritmi. Pearson
Education Addison-Wesley.
D IEHL , S. 2007. Software Visualization: Visualizing the Structure, Behavior, and Evolution of
Software. Springer.
D ITTRICH , J.-P., VAN DEN B ERCKEN, J., S CH ÄFER , T., AND K LEIN, M. 2000. Data structure nav-
igator. http://dbs.mathematik.uni-marburg.de/research/projects/dsn/.
G ALLES, D. 2006. Data structure visualization. http://www.cs.usfca.edu/galles/visualization/.
G RISSOM , S., M C N ALLY, M., AND N APS, T. 2003. Algorithm visualization in CS education:
Comparing levels of student engagement. In Proceedings of the ACM Symposium on Software
Visualization (SoftVis’03). 87–94.
G URKA , J. AND C ITRIN, W. 1996. Testing effectiveness of algorithm animation. In Proceedings of
the IEEE Symposium on Visual Languages (VL’96). 182–189.
H ANSEN, S., N ARAYANAN, N., AND S CHRIMPSHER , D. 2000. Helping learners visualize and com-
prehend algorithms. Interact. Multimedia Electron. J. Comput.-Enhanc. Learn. 13, 3, 291–317.
1 http://algoviz.org
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
Algorithm Visualization: The State of the Field · 9: 21
H ARRISON, S. AND D OURISH , P. 1996. Replacing space: The roles of place and space in collabora-
tive systems. In Proceedings of the ACM Conference on Computer Supported Cooperative Work
(CSCW’96). 67–76.
H OPE C OLLEGE. 2001. Complete collection of algorithm visualizations.
http://www.cs.hope.edu/∼dershem/ccaa/ccaa.
H UNDHAUSEN, C. AND D OUGLAS, S. 2000. Using visualizations to learn algorithms: Should stu-
dents construct their own, or view an expert’s? In Proceedings of the IEEE Symposium on Visual
Languages (VL’00). 21–28.
H UNDHAUSEN, C. D., D OUGLAS, S. A., AND S TASKO, J. T. 2002. A meta-study of algorithm visu-
alization effectiveness. J. Vis. Lang. Comput. 13, 3, 259–290.
J ARC, D. J., F ELDMAN, M. B., AND H ELLER , R. S. 2000. Assessing the benefits of interactive
prediction using Web-based algorithm animation courseware. In Proceedings of the 31st SIGCSE
Technical Symposium on Computer Science Education (SIGCSE’00). 377–381.
J ERIC 2008. J. Educ. Resour. Comput. http://www.acm.org/pubs/jeric.
K ORHONEN, A., M ALMI , L., AND S ILVASTI , P. 2003. Trakla2: A framework for automatically
assessed visual algorithm simulation exercises. In Proceedings of the Koli Calling 3rd Annual
Baltic Conference on Computer Science Education (KOLI-CALLING’03).
L AWRENCE , A. W., S TASKO, J., AND B ADRE , A. 1994. Empirically evaluating the use of animations
to teach algorithms. In Proceedings of the IEEE Symposium on Visual Languages (VL’94). 48–54.
N APS, T., C OOPER , S., K OLDEHOFE , B., L ESKA , C., R ÖSSLING, G., D ANN, W., K ORHONEN, A.,
M ALMI , L., R ANTAKOKKO, J., R OSS, R., A NDERSON, J., F LEISCHER , R., K UITTINEN, M., AND
M C N ALLY, M. 2003. Evaluating the educational impact of visualization. SIGCSE Bull. 35, 4,
124–136.
N APS, T., E AGAN, J., AND N ORTON, L. 2000. JHAVÉ—an environment to actively engage stu-
dents in Web-based algorithm visualizations. In Proceedings of the 31st Technical Symposium on
Computer Science Education (SIGCSE’00). 109–113.
N APS, T., R ÖSSLING, G., A LMSTRUM , V., D ANN, W., F LEISCHER , R., H UNDHAUSEN, C.,
K ORHONEN, A., M ALMI , L., M C N ALLY, M., R ODGER , S., AND Á NGEL V EL ÁZQUEZ -I TURBIDE , J.
2002. Exploring the role of visualization and engagement in computer science education. In Pro-
ceedings of the Working Group Reports from ITiCSE on Innovation and Technology in Computer
Science Education (ITiCSE-WGR’02). 131–152.
P IERSON, W. AND R ODGER , S. 1998. Web-based animation of data structures using jawaa.
In Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education
(SIGCSE’98). 267–271.
R ÖSSLING, G. 2006. Animation repository. http://www.animal.ahrgr.de/animations.php.
R ÖSSLING, G., N APS, T., H ALL , M., K ARAVIRTA , V., K ERREN, A., L ESKA , C., M ORENO, A.,
O ECHSLE , R., R ODGER , S., U RQUIZA -F UENTES, J., AND Á NGEL V EL ÁZQUEZ -I TURBIDE , J.
2006. Merging interactive visualizations with hypertextbooks and course management. SIGCSE
Bull. 38, 4, 166–181.
R ÖSSLING, G., S CH ÜER , M., AND F REISLEBEN, B. 2000. The animal algorithm animation tool. In
Proceedings of the 5th Annual SIGCSE/SIGCUE ITiCSE Conference on Innovation and Tech-
nology in Computer Science Education (ITiCSE’00). 37–40.
S ARAIYA , P. 2002. Effective features of algorithm visualization. M.S. thesis. Virginia Polytechnic
Institute and State University.
S ARAIYA , P., S HAFFER , C., M C C RICKARD, D., AND N ORTH , C. 2004a. Effective features of al-
gorithm visualizations. In Proceedings of the 35th SIGCSE Technical Symposium on Computer
Science Education (SIGCSE’04). 382–386.
S ARAIYA , P., S HAFFER , C., M C C RICKARD, D., AND N ORTH , C. 2004b. Effective features of al-
gorithm visualizations. In Proceedings of the 35th SIGCSE Technical Symposium on Computer
Science Education (SIGCSE’04). 382–386.
S HAFFER , C. A., C OOPER , M. L., AND E DWARDS, S. H. 2007. Algorithm visualization: A report
on the state of the field. In Proceedings of the 35th SIGCSE Technical Symposium on Computer
Science Education (SIGCSE’07). 150–154.
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.
9: 22 · C. A. Shaffer et al.
S HAFFER , C. A., H EATH , L., AND YANG, J. 1996. Using the Swan data structure visualization
system for computer science education. In Proceedings of the 35th SIGCSE Technical Symposium
on Computer Science Education (SIGCSE’96). 140–144.
S IGCSE 2010. External links. http://sigcse.org/resources/external-links.
S METE 2010. Digital library. http://www.smete.org.
S TASKO, J. 1992. Animating algorithms with XTANGO. SIGACT News 23, 2, 67–71.
S TASKO, J. 2001. POLKA animation system.
http://www.cc.gatech.edu/gvu/softviz/parviz/polka.html.
S TASKO, J., D OMINGUE , J., B ROWN, M. H., AND P RICE , B. A. 1998. Software Visualization:
Programming as a Multimedia Experience. MIT Press, Cambridge, MA.
S TASKO, J., K EHOE , C., AND T AYLOR , A. 2001. Rethinking the evaluation of algorithm animations
as learning aids: An observational study. Int. J. Hum.-Comput. Stud. 54, 2, 265–284.
S TASKO, J. AND K RAEMER , E. 1992. A methodology for building application-specific visualization
of parallel programs. Tech. rep. GIT-GVU-92-10. Georgia Institute of Technology.
S TERN, L. 2001. Algorithms in action. http://www.cs.mu.oz.au/aia/.
WALDMANN, T. AND H ERMANN, J. 2010. MoinMoin Wiki Engine.
http://moinmoin.wikiwikiweb.de/.
W IGGINS, M. 1998. An overview of program visualization tools and systems. In Proceedings of the
36th Annual Southeast Regional Conference (ACM-SE’98). 194–200.
Received June 2009; revised August 2009, March 2010, April 2010; accepted April 2010
ACM Transactions on Computing Education, Vol. 10, No. 3, Article 9, Pub. date: August 2010.