A Visualization-Based Computer Science Hypertextbook Prototype ¨ GUIDO ROSSLING TU Darmstadt and TEENA VELLARAMKALAYIL TU Darmstadt
Hypertextbooks for Computer Science contents present an interesting approach to better support learners and integrate algorithm animations into the learning materials. We have developed a prototype for integrating a selection of the functionality of such a hypertextbook into the established Moodle LCMS. This paper describes the goals and realization of this module together with an example. Categories and Subject Descriptors: K.3.1 [Computers and Education]: Computer Uses in Education—Computer-assisted instruction General Terms: Design Additional Key Words and Phrases: Visualization-based Computer Science Hypertextbook, VizCoSH, Moodle
1.
INTRODUCTION
Algorithm visualization (AV) has a long tradition in visually presenting dynamic contents—typically, algorithms and data structures. The discipline and its associated tools promise easier learning and better motivation for learners. Related fields cover the visualization or animation of programs (PV, PA) by animating statements or expressions, as well as the animation of algorithms or data structures (AA). Visualizations use a sequence of static images, while animations use dynamic movements and changes. For simplicity, we will continue to use the abbreviation AV for all of these fields. Surveys such as the one performed by the ITiCSE 2002 Working Group on “Improving the Educational Impact of Algorithm Visualization” usually show that the respondents believe AV can help learners in understanding algorithms and data structures [Naps et al. 2003]. However, the adoption of AV by educators is lower than the proponents and developers of such systems would hope and expect. The Author’s address: G. R¨ oßling, TU Darmstadt, CS Dept., Hochschulstr. 10, D-64289 Darmstadt, Germany. Teena Vellaramkalayil, TU Darmstadt, CS Dept., Hochschulstr. 10, D-64289 Darmstadt, Germany Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission and/or a fee. c 2009 ACM 1529-3785/2009/0700-0111 $5.00
ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009, Pages 111–123.
112
·
Guido R¨ oßling and Teena Vellaramkalayil
main reasons why educators do not use AV materials in their lectures as cited in the surveys can be reduced to two aspects: the time required to do so and the lack of integration with existing teaching materials [Naps et al. 2003]. Since that report, several approaches have addressed the time aspect, for example by providing tools or generators for quickly producing content that fits the educator’s or learner’s expectations, and allow the user to specify the input values [R¨ oßling and Ackermann 2006; Naps 2005]. However, the integration of AV into the learning materials still needs to be addressed. A 2006 ITiCSE Working Group therefore proposed a combination of hypertextbased textual materials with image, video, and AV content, as well as aspects from a learning management system [R¨oßling et al. 2006]. This combination was called a Visualization-based Computer Science Hypertextbook (VizCoSH) to illustrate the main aspect from the Working Group’s point of view: the seamless integration of AV materials into the learning materials used for a course. Many of the aspects that make up a VizCoSH are not “new” and have been used in related systems. As the term VizCoSH was only coined in the 2006 Working Group report, it is not surprising that no previous VizCoSH exists under that name. In this paper, we present our first prototype of a VizCoSH. As stated by previous authors of related hypertextbooks, the effort required to create a full-fledged hypertextbook is intense. The well-known theory hypertextbook Snapshots of the Theory of Computing [Ross 2006; Boroni et al. 2002], while far from finished, already represents the work of about twelve years. Therefore, it seems unlikely that a full-fledged VizCoSH—including the features “borrowed” from course or learning management systems described in the Working Group Report [R¨oßling et al. 2006]—could already exist if it were built from scratch since 2006. Additionally, the concept was developed jointly by 11 international researchers during a Working Group. Thus, there was no predetermined result that would allow one of the existing systems to exactly match the goals of the Working Group. Our first prototype for a VizCoSH is based on the popular and established Moodle learning content management system [Cole and Foster 2007]. Section 2 presents the goals for the development of the module. Section 3 describes the approach taken for meeting these goals, followed by a short demo of the resulting content pages in Moodle in Section 4. In Section 5, we illustrate how a new AV system can be added to our prototype. Sections 6 and 7 present a brief evaluation of the module and concludes the paper. This report expands the previously published reports about the prototype [R¨ oßling and Vellaramkalayil 2008a; 2008b] regarding the features of a VizCoSH, and a description with a concrete example of how additional systems can be added. We have also added first practical results. 2.
GOALS FOR IMPLEMENTING A VIZCOSH
The report that presented the concept of a VizCoSH set many ambitious goals for a full-fledged VizCoSH. For example, these concerned navigation aspects, adaptation of the contents and learning paths to the user, and the integration of tracking and testing facilities to better determine the user’s understanding. While most of the goals are already implemented in “some” systems such as [Ross 2006; CunningACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype
·
113
ham and Ross 2006], their combination—especially with the seamless integration of animations envisioned for a VizCoSH—has not been managed so far. For the purpose of this research, we had to scale down the expectation towards a full VizCoSH to a manageable amount. Essentially, we expected that our VizCoSH prototype should offer the following features: —Adaptation of layout (such as fonts and color settings) and language to the user’s needs, —Addition of arbitrary elements, such as text blocks, images, or hyperlinks at any position in the contents, —Support for asking multiple-choice quizzes and performing knowledge tests, —Support for different user roles, at least distinguishing between teacher and student, —Logging the user’s activities, in order to be able to track individual progress, —Basic communication features, such as chats, forums and votings, —Structured textual elements organized similarly to a text book (otherwise, the resource could not be called a hypertextbook), —Enabling the printing of the learning materials with about the same comfort as for a “regular” text book, —Seamless integration of AV content at (almost) any position in the contents, —Support for fixed AV content as well as for “random” or user-generated AV content. Many of these goals are already addressed by a variety of software. For ex´ [Naps 2005] ample, some AV systems such as Animal [R¨oßling 2008] or JHAVE already support the ad-hoc generation of content based on user input. Animal also supports fully flexible bidirectional navigation and interactive quizzes, a clickable “table of contents” and internationalization, currently covering English, German and Italian, with additional languages under development. Most other systems are currently not yet prepared for internationalization. One notable exception is the program visualization system Jeliot [Moreno et al. 2004], which supports English, Finnish, French, Spanish and German. For most of the communication- and layout-based goals, there is a whole set of software that is geared to provide these aspects: learning content management systems including the popular Moodle system [Cole and Foster 2007]. We therefore decided to base our implementation on Moodle, which already offers the first six of the 10 required features. 3.
REALIZING A VIZCOSH PROTOTYPE AS A MOODLE MODULE
Moodle is a highly extensible system, making it (comparatively) easy to provide additional features. The large international developer community can help in locating bugs and fixing them. However, the popularity of Moodle and the large number of developers also means that the number of offered modules or plugins for download is very large—at the time of writing, the web page listed more than 300 such elements. ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
114
·
Guido R¨ oßling and Teena Vellaramkalayil
The first six aspects—adaption of the visual layouts and language, management of arbitrary elements, quizzes and tests, user roles, logging, and communication features—are already integrated into Moodle and do not require further work. For the text structure similar to a book including useful printing facilities, we found a ˇ fitting “activity module” called Book [Skoda 2007]. This module provides the “significant structure” required by a VizCoSH, ensuring that the creation of meaningful text-based learning materials with AV content additions are possible. The Book module allows printing the current “chapter” or the full book, resulting in an HTML page that can easily be printed or saved for offline use. Some limitations exist; for example, the author of the module has decided not to support a deeper level of structure than chapters and sub-chapters. Additionally, the module is not interactive, so that true to the underlying book concept, forums, chats etc. cannot be integrated into the content, but can be linked from anywhere in the page. We have extended the Book module to include support for AV content and renamed it to vizcosh. Educators can maintain a list of supported AV content files inside the module. New AV content can be added by providing the following information about the content: title, description, author (by default, the user currently logged in), and topic(s) covered. Additionally, the animation file has to be uploaded, optionally together with an image to be used as a thumbnail. Finally, the user has to select the animation format. The vizcosh module currently supports the following formats: —JAWAA2 [Akingbade et al. 2003], a Java applet for visualizing or animating computer science algorithms and data structures, —GAIGS [Naps and R¨ oßling 2006], which renders instrumented code into a set of images, ´ [Naps 2005], a Java-based AV environment that uses different “visual—JHAVE ization engines” including GAIGS, JSamba [Stasko 1998] and Animal [R¨oßling ´ provides common navigation elements to these 2008] to render content. JHAVE ´ can be engines, as well as content generators and interactive quizzes. JHAVE started with a local file as a parameter or with a specific input generator [Naps 2005], —the internal and AnimalScript-based formats supported by Animal [R¨oßling and Freisleben 2002]. —as well as the generators offered by Animal, where the content author can either select the generator front-end, preselect an algorithm category, or specify a specific generator [R¨ oßling and Ackermann 2006], Each animation format description also contains a template for starting the content with an appropriate JNLP file. The JNLP file uses a set of placeholders to substitute the actual file name etc. when it is started inside Moodle, as shown in Table I. Note that depending on the underlying system, not all of these placeholders may be required. Listing 1 presents an example JNLP template for the Animal AV system.
1
Listing 1. Example JNLP specification for Animal ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype Use
JNLP-PATH
Describes the base path for all relative paths used in the JNLP file, as specified by the codebase attribute of the JNLP specification. Defines the name (relative to JNLP-PATH) for the JNLP file, used for the href attribute of the JNLP root element. Defines the location of the JAR file(s) for the jar element of the resources JNLP element; describes where the JAR file(s) for the AV system are to be found. Describes the type of the file, needed if the chosen system can handle more than one type of file. Specifies the path and name for a file attribute to be passed in to the chosen AV system.
JAR-PATH
DATA-TYPE DATA-PATHFILENAME
Table I.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
115
Variable
JNLP-FILENAME
2
·
Variables used for JNLP templates
< !−− JNLP S p e c i f i c a t i o n f o r Animal 2 . 4 d i s t r i b u t i o n −−> Animal Algorithm Animation 2 . 4 Animal D e v e l o p e r Team/Dr . Guido R o e s s l i n g Animal Algorithm Animation 2 . 4 An e x t e n s i b l e a l g o r i t h m a n i m a t i o n t o o l f o r Computer S c i e n c e Education
Lines 4 and 5 show that the JNLP-PATH and JNLP-FILENAME describe the location of the JNLP specification file. Lines 6 to 16 provide metadata about the AV system (here, the Animal AV system), such as the title, vendor, homepage, description and icon. In line 18, all permissions are requested to allow users to save animation files to their local disk. This is especially helpful for content generated ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
116
·
Guido R¨ oßling and Teena Vellaramkalayil
on the fly inside Animal and stored to a local disk for later (re-)use. The JAR file for running the AV content is defined in line 22. Finally, lines 26 and 27 describe the run-time parameters for an animation, here the format and name of the animation file to be loaded. Using the “Add Algorithm Visualization” button added to the standard Moodle content editor, as shown in Figure 2, the user can easily add AV content at the end of the text. To do so, he or she simply chooses one of the existing elements from the AV content list, or creates a new entry. If the link appears in the wrong place, it can easily be cut and pasted to the right target position. 4.
EXAMPLE OUTPUT
Figure 1 shows an excerpt of a VizCoSH page created using the Moodle vizcosh module. On this page, the image in the center is a link to the concrete visualization of the underlying sorting algorithm (here, Selection Sort). Additionally, a set of links to different alternative AV content are placed in the item list below the image, including the possibility for the user to generate a new animation according to his or her own preferences. When the user clicks on one of these AV-related links, the associated JNLP file is sent to the user’s web browser. This causes Java Web Start to run the visualization. If necessary, the AV system is first downloaded to the user’s computer or, if a new version of the system has become available, it is automatically updated. To keep the Figure readable, we present only a segment without the navigation elements placed above, below, and to the left of the page contents. The displayed view is similar to the “print” view of the current book chapter, as offered by the module. Beyond the contents visible in Figure 1, the page also contains a paragraph describing the algorithm (here, Selection Sort) above Figure 1, as well as a paragraph about the complexity of the algorithm. Additionally, a number of exercises are included on the page. In a future version of the VizCoSH, the user shall be able to submit a solution to these exercise tasks for (semi-)automatic grading. Some exercises may request the user to specify an input set to reach a given result, for example, that Quicksort will swap four value pairs in the first recursion step. Other tasks may define a given input and ask the user to “run” the algorithm on paper and predict the number of assignments and comparisons performed. In both cases, an animation using the specified input data shall be generated after the user has entered his or her answer. This animation will illustrate the actual behavior of the algorithm on the given data. At the end of the animation, the system shall then judge whether the user’s input was correct–and by this time, the user should already have received some insight into why his or her answer may have been incorrect. Alas, this part of the module does not exist yet. We have mentioned it to illustrate why a VizCoSH can be so much more than a “simple” text book. A “complete” VizCoSH can incorporate automatically evaluated tests that may also have a effect on how further content is presented to the user—or even which content will be visible. Figure 2 shows an example of the (modified) content editor provided by the vizcosh module. The WYSIWYG editor is already provided by Moodle. Our addition ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype
Fig. 1.
·
117
VizCoSH example from the vizcosh Moodle module
to this editor is the button Add Algorithm Visualization shown next to the keyboard icon. When the user clicks on this button, he is led to the collection of all registered animations. By selecting one of these entries, the associated thumbnail or text is inserted into the text editor - the AV content is now ready to be run as soon as the changes have been saved. If the user wants to add an algorithm visualization to the VizCoSH, he clicks on a “+” icon above the list of known AV content. He is then led to the page shown in Figure 3. Here, the user can enter the title and description of the AV content. The “Author” field is automatically set to the name of the user currently logged in to Moodle. The “Format” list displays a set of predefined formats. Each format has a basic JNLP file that is adapted to the concrete set-up and then stored in the database. The information in the JNLP file encodes the animation file uploaded by the user and the JNLP features. Finally, the user can decide to use the default thumbnail, download a new one, or instead display only a text for the hyperlink. By pressing the “Create” button, the file is uploaded and placed into the proper ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
118
·
Guido R¨ oßling and Teena Vellaramkalayil
Fig. 2. Content Editor including an algorithm visualization thumbnail in the vizcosh Moodle module
directory, and a new JNLP file is created that fits the AV content. 5.
INTEGRATING OTHER VISUALIZATION SYSTEMS
As outlined in Section 3, the current prototype already supports three different algorithm animation systems. To illustrate how easy it is to add support for additional systems, we have incorporated the program visualization system Jeliot [Moreno et al. 2004]. In this Section, we describe the steps that were taken to incorporate Jeliot into our VizCoSH prototype. The main requirement for the addition of a new system to the prototype is that the system can be run using Java Web Start. For most practical applications, this means that the system has to be written in Java, and is distributed in one or more JAR files. If the user has to be able to access the local file system, for example to load or save animations or other contents, all JAR files have to be digitally signed by the developers. Finally, the system in question should either offer a JNLP file for directly executing the system using Java Web Start, or provide the specification necessary for starting the program, including the name of the main class. The administrator of the VizCoSH can then assemble a proper JNLP specification from this data, based on the descriptions provided by Sun [Sun Microsystems, Inc. 2008]. Not all Java applications are directly suited for Java Web Start. One problematic area concerns resources that are loaded from the local disk or from the JAR file. In this case, many applications may try to load files and images using a local (absolute) file name; however, this will not work using Java Web Start. Instead, the “right” way to load images and other resources is by using the Java class loader ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype
Fig. 3.
·
119
VizCoSH algorithm visualization editor
used for loading the JAR classes and opening resources within this class loader, as also described in the resources on the Java Web Start pages [Sun Microsystems, Inc. 2008]. For the following, we will assume that the system to be started has been implemented to correctly work with Java Web Start, and that a valid JNLP specification similar to Listing 1 exists. To use enhanced features such as the dynamic generators built into Animal, or the possibility to add URL parameters for visualization resources to be loaded, the JNLP file has to be modified to use the place-holders described in Table I. The modified JNLP specification file and the visualizer can then be uploaded to the VizCoSH module. At the time of writing, there is no automatic upload page; rather, the files have to be manually transferred into the module directory of the Moodle installation (/mod/vizcosh/iles/visualizers/jars and /mod/vizcosh/ files/visualizers/jnlps) on the server. This also acts as a simple security measure, as it restricts the ability to add “arbitrary” Java software to those with administration privileges for the VizCoSH. Using the base JNLP file, the content author can create a new “format” for the content editor shown in Figure 3. This may result in a set of options in the “Format” ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
120
·
Guido R¨ oßling and Teena Vellaramkalayil
list, where one option may be the direct start of the system without parameters, another may represent the presence of a single URL parameter, and other options may use a variety of different start-up parameters. For Jeliot, we have used the JNLP file shown in Listing 2, based on a JNLP file provided by Andr´es Moreno. Listing 2.
Example JNLP specification for Jeliot
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
< !−− JNLP F i l e f o r J e l i o t −−> J e l i o t 3 C l i e n t U n i v e r s i t y o f Joensuu J e l i o t 3 , t h e program a n i m a t i o n t o o l J e l i o t 3 C l i e n t On uploading a concrete Java source file to be visualized using Jeliot, the DATAPATHFILENAME entry in line 23 is replaced by the actual URL - something like http://MoodleServerURL/mod/vizcosh/files/tmp/File.java, where MoodleServerURL represents the URL for the server including the path for Moodle, and File.java is the filename of the actual Java source file. Figure 4 shows a (drastically) scaled screenshot of a Java example program being displayed in Jeliot’s “theater”. This screenshot was taken from the animation content integrated into the VizCoSH, as described in this Section. 6.
EVALUATION
Using the vizcosh Moodle module presented in this paper, it is easy to incorporate animations of any of the supported types listed in Section 3. The average time effort for adding a new visualization to a given module page is less than two minutes, as ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype
Fig. 4.
·
121
VizCoSH inclusion of Jeliot
it only requires creating a new animation entry and selecting the proper animation format. We have recently written a set of VizCoSH pages for sorting, covering the following algorithms on one page each: Selection Sort, Insertion Sort, Bubble Sort, Comb Sort, Shaker Sort, Counting Sort, Quicksort, and Merge Sort. Each page contains the same contents as described in Section 4. A brief introduction to the algorithm is followed by an example screenshot including Java source code which serves as a link to the actual animation. Additional links to pregenerated animations are provided for an ascending, descending or bitonic data set, as well as a link to the generator for generating a new animation of the algorithm based on user input. Example tasks (without submission and grading support) are also given. Each pages ends with a brief statement about the complexity of the algorithm. The writing and testing of these eight content pages, together with the generation of the complete AV content and its upload to the server, took about three hours. It should be noted that these pages were written “from scratch”, so that a considerable amount of the total time went into editing the presentation of the content. The complete chapter, converted to PDF from the “print” view, covers 18 pages including one page each for the title and the table of contents. All links to AV content still remain functional in the PDF file, assuming the user is online and ideally also logged in to Moodle. ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
122
7.
·
Guido R¨ oßling and Teena Vellaramkalayil
CONCLUSIONS AND FUTURE WORK
At the moment, our plugin supports contents from one of the following algorithm animation or visualization systems: JAWAA2 [Akingbade et al. 2003], GAIGS [Naps ´ [Naps 2005] and Animal [R¨oßling 2008]. Additionally, and R¨ oßling 2006], JHAVE we have recently integrated support for the Jeliot program visualization system [Moreno et al. 2004]. In contrast to the algorithm animation systems, Jeliot requires a Java source file as an input, not a scripting notation. The main tasks to be done for integrating other systems are to provide a working JNLP template for the new system, similar to the one shown in Listing 1. The author can create a new format template with a few mouse clicks by opening the “Format Editor” using the button next to the Format list shown in Figure 3. However, the basic JNLP file has to be edited manually to adapt it to the target format. This especially concerns the application-desc element of the JNLP specification, which states the main class of the JAR file(s) and the invocation arguments. The module itself does not have to be changed if a new format is introduced. The ability to print the current chapter including the thumbnails is also helpful. Here, the underlying Book module simply renders the page content(s) without the navigation elements and redisplays them as a Web page in a new browser window. Our prototype can only represent the first step towards implementing a VizCoSH. Still, we expect that it will be easy to use for others once we publish the module, and may make adoption of AV easier. Future work for the module includes a seamless incorporation of interactive features, such as Moodle’s forums and chat abilities with the page content and the visualizations. For example, users should be able to link to a given visualization easily in all other areas of Moodle. User tracking for performance in built-in knowledge tests would be another important addition. We are interested in cooperating with researchers and teachers who want to use the module. This especially concerns the support for other algorithm animation or visualization systems that can be run using Java Webstart. Several persons may not use Moodle, but some other platform, for example due to a universityenforced policy. Most of the module is not specific to Moodle and should be easy to carry over to other learning content management systems or content management systems, such as Drupal, Plone or Typo3. The main Moodle-specific aspect is the connection to the user management and database, which has to be rewritten for each target platform. We are also looking for partners who could contribute content, and allow us to take one step further towards the vision of a “community-shared” VizCoSH, as anticipated by the ITiCSE 2006 Working Group [R¨oßling et al. 2006]. The current state of the VizCoSH is available at http://proffs.tk.informatik. tu-darmstadt.de/VizCoSH. Please create a new account to access the contents. REFERENCES Akingbade, A., Finley, T., Jackson, D., Patel, P., and Rodger, S. H. 2003. JAWAA: Easy Web-Based Animation from CS 0 to Advanced CS Courses. In Proceedings of the 34th ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2003), Reno, Nevada. ACM Press, New York, 162–166. Boroni, C., Goosey, F., Grinder, M., and Ross, R. 2002. Active Learning Hypertextbooks for the Web. Journal of Visual Languages and Computing 13, 2, 341–354. ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.
A Visualization-Based Computer Science Hypertextbook Prototype
·
123
Cole, J. and Foster, H. 2007. Using Moodle: Teaching with the Popular Open Source Course Management System. O’Reilly. Cunningham, A. B. and Ross, R. J. 2006. Biofilms: The Hypertextbook. Online at http: //www.erc.montana.edu/biofilmbook/. Moreno, A., Myller, N., Sutinen, E., and Ben-Ari, M. 2004. Visualizing Programs with Jeliot 3. In Proceedings of the Working Conference on Advanced Visual Interfaces (AVI 2004), Gallipoli (Lecce), Italy. ACM Press, New York, 373–380. ´ – Addressing the Need to Support Algorithm Visualization with Tools Naps, T. 2005. JHAVE for Active Engagement. IEEE Computer Graphics and Applications 25, 6 (Dec.), 49–55. ´ - more Visualizers (and Visualizations) Needed. In ¨ ßling, G. 2006. JHAVE Naps, T. L. and Ro Proceedings of the Fourth Program Visualization Workshop, Florence, Italy, G. R¨ oßling, Ed. 112–117. ¨ ßling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., KoNaps, T. L., Ro ´ 2003. ´ zquez-Iturbide, J. A. rhonen, A., Malmi, L., McNally, M., Rodger, S., and Vela Exploring the Role of Visualization and Engagement in Computer Science Education. ACM SIGCSE Bulletin 35, 2 (June), 131–152. Ross, R. J. 2006. Snapshots of the theory of computing. Available online at http://www.cs. montana.edu/webworks/projects/snapshots/. ¨ ßling, G. 2008. Animal-Farm: An Extensible Framework for Algorithm Visualization. VDM Ro Verlag Dr. M¨ uller, Saarbr¨ ucken, Germany. ¨ ßling, G. and Ackermann, T. 2006. A Framework for Generating AV Content on-the-fly. In Ro Proceedings of the Fourth Program Visualization Workshop, Florence, Italy, G. R¨ oßling, Ed. 106–111. ¨ ßling, G. and Freisleben, B. 2002. Animal: A System for Supporting Multiple Roles in Ro Algorithm Animation. Journal of Visual Languages and Computing 13, 2, 341–354. ¨ ßling, G., Naps, T., Hall, M. S., Karavirta, V., Kerren, A., Leska, C., Moreno, A., Ro ´ 2006. ´ zquez-Iturbide, J. A. Oechsle, R., Rodger, S. H., Urquiza-Fuentes, J., and Vela Merging Interactive Visualizations with Hypertextbooks and Course Management. SIGCSE Bulletin inroads 38, 4 (Dec.), 166–181. ¨ ßling, G. and Vellaramkalayil, T. 2008a. First Steps Towards a Visualization-Based Ro Computer Science Hypertextbook as a Moodle Module. In Proceedings of the Fifth Program Visualization Workshop (PVW 2008), Madrid, Spain, G. R¨ oßling and J. A. Vel´ azquez-Iturbide, Eds. Number 2008-04 in Serie de Informes T´ enicos DLSI1-URJC. Departamento de Lenguajes y Sistemas Inform´ aticos I, Universidad Rey Juan Carlos, Most´ oles, Spain, 29–36. ¨ ßling, G. and Vellaramkalayil, T. 2008b. Integration von Algorithmenvisualisierungen in Ro die Lehre. In Tagungsband der 6. Deutschen E-Learning Fachtagung Informatik (DeLFI 2008), L¨ ubeck, Germany. Gesellschaft f¨ ur Informatik e.V., Bonn, Germany, 389–400. Stasko, J. 1998. Samba Algorithm Animation System. Available at http://www.cc.gatech.edu/ gvu/softviz/algoanim/samba.html. Sun Microsystems, Inc. 2008. Java web start technology. WWW: http://java.sun.com/ javase/technologies/desktop/webstart/index.jsp. ˇ Skoda, P. 2007. book module for Moodle. http://docs.moodle.org/en/Book_module. Received October 2008; revised November 2008; accepted December 2008
ACM Journal on Educational Resources in Computing, Vol. 9, No. 2, 03 2009.