The Fundamental Design Issues of Jeliot 3
Niko Myller · 2004
Programming and algorithms are hard subjects to teach and learn. Especially novices seem to have problems to grasp the basic concepts of programming and algorithms. Software visualization has tried to provide help for teaching and learning these subjects. The Jeliot family is a group of program and algorithm visualization tools to help novices to form the new concepts of programming and algorithms. In this thesis, a new version of Jeliot, called Jeliot 3, and its design are introduced. The new version is meant especially for novice students who are learning programming in Java language. It visualizes the data and the control flow of the programs as well as the object-oriented concepts such as constructors and objects. In the design, we have used a modular approach that connects an interpreter and a visualization engine to each other. Our design allows the utilization of two existing systems, Jeliot 2000 as a visualization engine and DynamicJava as an interpreter, to create the basis for this new system. To connect these two systems, we have created a new intermediate language. This new language also allows a formation of different kinds of visualizations with relative ease making the system extensible. In the design of the visualization, we have used the results from studies conducted in the fields of educational psychology and software visualization, and come into the conclusion that the program visualization for novices should be as complete, continuous and consistent as possible. Jeliot 3 extends the visualization capabilities of previous members of the Jeliot family with object-oriented concepts.