A New Algorithmic Animation Framework for the Classroom and the Internet
Margarita Esponda Argüero · Universitätsbibliothek der FU Berlin Hochschulschriftenstelle u. Dokumentenserver · 2004
This thesis describes a new approach to the generation of algorithmic animations for computer science education. Two different rendering platforms are used for the animations: the first is an electronic chalkboard in which the user enters data and starts computations by using handwritten symbols and letters; the second is a de-facto standard high quality animation engine for the Web, i.e. Macromedia's Flash. The animations described in this thesis are produced by generating commands in a special new script language which I have called Flashdance. The commands are interpreted by one of my animation engines: Chalk Animator is the animation interpreter I wrote for the electronic chalk system (E-Chalk); Flashdance is the name of the animation interpreter I wrote for Macromedia Flash (the interpreter and the script language share the same name). Animation files can be played on any of these two platforms. E-Chalk Animator is the first algorithmic animation system able to process handwritten and sketched input. An instructor can explain an algorithm using an electronic blackboard, sketch a graph or write numbers, which are then consumed as input for the algorithm. The algorithm is animated on the E-Chalk board. In this thesis, I explain how to adapt a handwriting recognizer to the recognition of computer code, so that an instructor can execute the code he or she just wrote in the electronic blackboard. In the future, pseudocode will be also recognizable and will be executed on the fly. Flashdance is the first algorithmic animation system based on a standard animation engine. By adopting Flash, the interpreter of the script language can be reduced to its essential algorithmic features, the animations are portable, and they can be viewed on the Web. The graphic rendering is of high quality. This thesis introduces also the concept of overlays in algorithmic animations, providing additional information layers for the viewer.