A new model for algorithm animation over the WWW

Algorithm animation helps the end user to understand algorithms by visually following their step-by-step execution, a complex task if relying on the textual program alone. There is a strong educational component associated with algorithm animation: it can be used by students individually or in class demonstrations [Stasko et al. 1993; van Dam 1984]. Algorithm animation is also a powerful software tool that can assist the algorithm designer in code debugging and in demonstrating a complex algorithm to a larger audience than merely specialists in the particular area of the algorithm. We propose a new model, called Mocha, for providing algorithm animation over the World-Wide Web. Mocha is a distributed model with a client-server architecture that optimally partitions the software components of a typical algorithm animation system and leverages the power of the Java language, an emerging standard for distributing interactive platform-independent multimedia applications across the Web, Our prototype (available at http:/\ www.cs.brown.edu / people /jib / Mocha. html) demonstrates that algorithm animation with Mocha is as simple as Web surfing. Namely, the user interacts with a hypertextual interface written in HTML, which is transferred over the Web to the user’s machine together with the code for the interface. The ease of use of the interface and its availability on the Web makes possible wide access to algorithm animation for education and for algorithm dissemination. Two features of Mocha are particularly suited to such applications: its accessibility, that is, users with limited computing resources can access animations of computationally expensive algorithms, and its capability for code protection, that is, the end user does not have access to the algorithm encoding. Mocha also provides high levels of security and places a light communication load on the Internet. The user interface combines fast responsiveness and user friendliness with the powerful au-