14
Second Program Visualization Workshop
The Algorithm Animation Repository Pierluigi Crescenzi Facolt`a di Scienze Matematiche, Fisiche e Naturali, Universit`a degli Studi di Firenze, Via C. Lombroso 6/17, 50134 Firenze, Italy
Nils Faltin Learning Lab Lower Saxony, Expo Plaza 1, 30539 Hannover, Germany
Rudolf Fleischer Department of Computer Science, HKUST, Clear Water Bay, Kowloon, Hong Kong
[email protected]
Christopher Hundhausen Information and Computer Sciences Department, University of Hawai’I at Manoa, 1680 East-West Road, POST303D, Honolulu, HI 96822, USA
Stefan N¨aher Fachbereich IV Informatik, Universit¨at Trier, 54286 Trier, Germany
Guido R¨oßling Department of Electrical Engineering and Computer Science, University of Siegen, H¨olderlinstr. 3, 57068 Siegen, Germany
John Stasko College of Computing/GVU Center, Georgia Institute of Technology, Atlanta, GA 30332-0280, USA
Erkki Sutinen Department of Computer Science, University of Joensuu, P.O. Box 111, 80101 Joensuu, Finland
1
Introduction
As researchers in theoretical or practical computer science, we are used to publishing our results in form of research papers that appear in conference proceedings or journals. Journals are normally considered more prestigious than conference proceedings because their more rigorous refereeing standards presumably guarantee a higher quality of the published research papers. This well-established practice of publishing research results puts real practical researchers whose main interest is to write software at a certain disadvantage. There is no established way to ‘publish’ software (except for describing the software in a companion paper that may be considered publishable) unless you want to go the long way of commercializing your system. But this usually only makes sense for certain large systems. Therefore, all the effort that goes into the development of smaller programs is usually not rewarded by the academic community because there is no way to make these little programs known in a way that other people can actually use them as they can use published research papers (a research paper is ‘used’ by reading it, a piece of software is ‘used’ by running it). This is in particular the case for programs that visualize or animate algorithms. Often, these animations are written either by instructors who need them for their teaching, or by people developing algorithm animation tools who use them to demonstrate the strengths of their new system. Since writing good animations can be a very difficult task that requires lots of effort and experience, it is a pity that all these nice programs are to a great extent unavailable for the general public (because they will never know about them) and that the authors of the pograms are not rewarded for their efforts. Last year, at the (Dagstuhl Seminar on Software Visualization), this problem was recognized and it was decided to build an Algorithm Animation Repository (AAR). Eight participants of the seminar formed the Editorial Board of the AAR, and the chairman of the Board, Rudolf Fleischer, was given the task to build the repository at his home university HKUST. With additional funding from his
Second Program Visualization Workshop
15
university, the implementation of the AAR made good progress and we expect to launch it in 2002 (try http://www.algoanim.net or http://algoanim.cs.ust.hk).
2
Goals of the Repository
Currently, instructors that want to use algorithm animations in the classroom but do not have the time (or expertise) to write their own animations can only try to search the web to find some animations. This is tedious because there are always lots of unsuitable links, and often it is also frustrating because many of the animations found do not meet minimal standards for a good teaching animation. The main purpose of the AAR is to make this task easier. The AAR will collect programs of animated algorithms (these can be applets, executables, GIF animations, movies, program packages for download and installation, etc.) and ‘publish’ them, and thus make them accessible to the general public. We expect that mainly instructors would use the AAR to find good animations, but also students that want to understand better what they learned in the classroom. All entries in the AAR will be refereed and ranked according a certain evaluation scheme (that is why we have the Board of Editors). We hope that this kind of refereed publication of programs will raise the level of acceptance for software development in the community. Besides of the editorial ranking, users of the AAR will also have the possibility to comment on the published software, similar to the reader book ratings at Amazon. We hope that this will not only improve the quality of the rankings (so that other users have a better guidance to find ‘good’ programs quickly), but will also provide a valuable feedback mechanism for the authors of the animations. The AAR will only provide links to the software on their owners’ homepages, so the owners of a piece of software will keep full control (and copyrights) of their work; in particular, they are free to withdraw it at any time from the AAR if they are not satisfied with the usage of their programs. The AAR will provide a convenient search engine for its entries, so that it will be possible to restrict the search to various special needs (platforms, languages, etc.). Such search restrictions are usually impossible in general web searches. The AAR will not only collect programs of animated algorithms, but also systems for writing algorithm animations (like XTANGO, MOCHA, etc.), animated hyperbooks, online courses, and anything else related to algorithm animation. The AAR will also contain unrefereed material like a collection of links to other useful animation web pages, links to the home pages of researchers in the field (of course, only if they give their consent to be added), and a bibliography of algorithm animation publications. In particular, we would be very interested in collecting (or doing ourselves) studies on the effectiveness of algorithm animations in teaching environments (classroom, online courses, etc.).
3
Conclusions
The Algorithm Animation Repository (AAR) is currently being built as a joint effort of an Editorial Board selected among the participants of last year’s (Dagstuhl Seminar on Software Visualization). The goal is to provide a place for the community where they can publish their animated programs, animation systems, or other related material. The programs will be refereed and ranked to make it easy for other users to find ‘good’ programs quickly. Our project has some overlap with the Computer Science Teaching Center project (CSTC). Unfortunately, their collection of animations is not very large (but growing) and many entries are not refereed (contrary to their initial intentions). Thus, the CSTC is at the moment not really helpful for quickly finding good animations. There are also similarities to the Complete Collection of Algorithm Animations (CCAA). However, the CCAA only provides a sorted collection of algorithms with very terse descriptions. While the animations are classified according to the type of algorithm, there is no review process by either a fixed set of reviewers or a single central reviewer. A nice collection of animations for teaching mathematics can be found at the (Math Archives).
16
Second Program Visualization Workshop
Of course, the AAR faces the problem of finding enough material to publish. It can only be a success if it becomes widely accepted in the community as the medium to publish good animation software. The support we got at the Dagstuhl meeting was encouraging enough to start the project, but only time will tell whether it can live up to its expectations.
References CCAA. The Complete Collection of Algorithm Animations, 2001. http://www.cs.hope.edu/ ~algoanim/ccaa. CSTC. Computer Science Teaching Center, 1999. http://www.cstc.org. Dagstuhl Seminar on Software Visualization. Seminar No. 01211, May 20-25, 2001. http://www. dagstuhl.de/01211. Math Archives, 1992. http://archives.math.utk.edu/index.html.