World-wide algorithm animation

Bertrand Ibrahim
Computer Science Department, University of Geneva,
rue du Général Dufour 24, CH-1211 Geneva 4, Switzerland.
latest update of online version: June 7, 1994
A Postscript version of this document can be found here.
You can also directly try a demonstration, if you wish (allow for ~15 seconds start-up time).

Table of Contents

Abstract
Introduction (same, uncompressed, in case your viewer doesn't support automatic decompression)
Global description of the project (same, uncompressed)
Screen design and user interface (same, uncompressed)
Preparing a program for WWW (same, uncompressed)
Synchronization between the server script and the spawned processes (same, uncompressed)
Conclusion (same, uncompressed)
Acknowledgements (same, uncompressed)

Abstract:

This paper reports on an innovative use of the WWW at the University of Geneva. Indeed, until now, the web has mostly been used to make information publicly available, whether directly in documents, or through search engines querying external databases. With the availability of forms, we are now starting to see WWW viewers used to input information, e.g. to order a pizza or give one's opinion about some topic.

In the Computer Science department, as a semester project for the Software Engineering class, we are now implementing an experiment to allow first year students to have not only on-line access to a hypertextual version of the book used in the Data Structures class, but also to "animate" the algorithms that are described in the book. That is, the students can run, on the server, the program (or program segment) and interact with the execution to put breakpoints in the code, display the contents of variables and advance execution either step by step, or until a breakpoint is met, in much the same way as with a symbolic debugger.

To do this required the development of a whole set of tools to facilitate, and even automate, the preparation of the algorithms to allow them to be started and controlled from a WWW client like Mosaic. It also required designing a mechanism to have the server spawn subprocesses to execute the algorithms and have the server query the appropriate subprocess for what has to be displayed next, based on the users' queries.

This paper will describe the technical solutions that had to be designed to make this remote control feasible. Even though the project described in this paper has educational purposes, many of the solutions described can prove useful in very different contexts.

Introduction (same, uncompressed)

Site Hosting: Bronco