|M.Sc Student||Igal Koifman|
|Subject||Distance Learning over the Internet|
|Department||Department of Industrial Engineering and Management||Supervisors||Full Professor Shimshoni Ilan|
|Full Professor Tal Ayellet|
This thesis presents a new model for an algorithm visualization system. The model views the visualization system as an integral part of a broader distance learning environment. The distance learning environment is based on the virtual classroom principle, meaning that the students and the teacher are located in different geographic areas and are using a communication mean to transfer the study materials. All the participants are online during the class. The model supports the heterogeneity of the Internet the visualization is expected to run on, and the diversity of the expected users. It does so by defining a few ways for handling multi-level visualization. First, a visualization can run in various abstraction levels of the algorithm, depending on the familiarity of the students with the studied materials. By defining a single visualization, the model is able to produce many visualizations that can be altered by the teacher during the class. Second, a visualization can use various levels of graphics, depending on the computing capabilities and the graphic resources of the client machines. Third, the messages sent between the machines can be of various levels, simple message or compound message, depending on the communication loads. A Simple message is a notification on a change in the state of the algorithm. A compound message is code that is transfered to be executed on the client station. Another important aspect of a distance learning environment, which is supported by the model, is to facilitate collaboration and data sharing between the students and the instructor and between the students themselves. This thesis also presents a system, MAVIS that implements the model. MAVIS is designed as a client-server architecture system. MAVIS was written in the JAVA language, that has many advantages when developing distributed applications on the Internet. The system is easy to deploy and to use since the client side is witten as a JAVA applet. Four case studies that were written by undergraduate students demonstrate the use of the system in writing new algorithm visualizations.