Increasing Explorativity by Generation Stephan Diehl, Andreas Kerren University of Saarland, FR 6.2 Informatik PO Box 15 11 50, D-66041 Saarbr¨ ucken {diehl,kerren}@cs.uni-sb.de Abstract. Visualization of computational models is at the heart of educational software for com- puter science and related fields. In this paper we look at how generation of such visualizations and the visualization of the generation process itself increase explorativity. Four approaches of increased explorativity are introduced. 1 Introduction Educational software mostly aims at width of knowledge (facts) and is not able to teach complex processes. The majority of systems are intrinsic electronic books, encyclopaedias and dictionaries. Process-oriented systems exist mostly for physics. In the area of computer science tutorials of programming languages prevail. Particularly in computer science and compiler design the theory and algorithms are very abstract and usually complex. Therefore visualizations are appropriate for computer science instruction. Although compiler design is often considered a practical field within computer science, most of its techniques are based on work in theoretical computer science, e.g. formal languages, automata theory and formal semantics. In recent years we have developed several educational software systems for topics in compiler design and theoretical computer science. These systems have in common that they teach computational models by animating computations of instances of these models with example inputs. But they differ in the level of explorativity. Approach Input Computational Model Generator Static fixed fixed none Interactive user fixed none First-order generative user user yes Second-order generative user user yes/visualized Table 1. Levels of explorativity Table 1 not only reflects the increased flexibility of the software developed, but also the chronological development of software in our group. Higher levels of explorativity demand more prerequisites and self- control by the learner. Thus, in the educational software the learner should start with static examples and as the user advances the level of explorativity should be increased. Exercises and textual hints in the educational software should guide the learner, to make sure he/she doesn’t miss the important issues. 2 Approaches Static Approach In the static approach the execution of an instance of a computational model is animated for a given, fixed input. The educational software ”Animation of Lexical Analysis” [Braune et al. 99] is an example for this approach (http://www.cs.uni-sb.de/RW/anim/animcomp e.html). Interactive Approach In the interactive approach an instance of a computational model is animated for an example entered by the user/learner. An example for this approach is our application ”Animation of Semantical Analysis” [Kerren 99] (http://www.cs.uni-sb.de/RW/anim/animcomp e.html). First-Order Generative Approach In the first-order generative approach the user enters the specification of an instance of a given computational model. Then an interactive visualization of this instance is generated and the user can enter an example input as in the interactive approach. As an example of the first-order generative approach we present GANIMAM [Diehl et al. 99], our web-based generator for interactive animations of abstract machines (Fig. 1 and http://www.cs.uni-sb.de/RW/users/ganimal/GANIMAM/). Proceedings of the AACE World Conference on Educational Multimedia, Hypermedia and Telecommunications (EDMEDIA '00), Montreal, Kanada, 2000. © AACE 2000