Im Gebiet der Informatik sind lernunterstützende Methoden sehr sinnvoll,
da häufig mit abstrakten Modellen umgegangen wird, die nur unbefriedigend
konventionell zu vermitteln sind. Wir haben eine Lernsoftware unter Microsoft
Windows entwickelt, die es den Lernenden ermöglicht, sich besser mit
den Prinzipien des Übersetzerbaus, hier speziell der semantischen
Analyse, auseinanderzusetzen. Dazu bietet die Software einerseits eine
interaktive Einführung in die Problematik der semantischen Analyse,
in der die wichtigsten Definitionen und Algorithmen in graphisch ansprechender
Form präsentiert werden. Andererseits hat der Lernende die Möglichkeit,
selbst Programmbeispiele und Spezifikationen einzugeben, an denen das vorher
erlernte Wissen in Form von dynamisch erzeugten Animationen und Visualisierungen
vertieft und das korrekte Verständnis gesichert werden kann. Unser
exploratives Lernsystem kann sowohl zur Unterstützung des Lehrers
im Unterricht, als auch vom Lernenden allein verwendet werden. In diesem
Papier beschreiben wir unsere Zielsetzung, unsere Ansprüche an eine
Lösung, das entwickelte System und geben Designprinzipien für
Lernsoftware an, die wir bei der Entwicklung des Systems und dessen Präsentation
gesammelt haben.
Abstract:
In computer science methods to aid learning are very important, because
abstract models are used frequently. For this conventional teaching methods
do not suffice. We have developed an educational software, that helps the
learner to better understand principles of compiler construction, in particular
the semantical analysis of the source program. The software offers on the
one hand an interactive introduction to the problems of the subtasks of
the semantical analysis, in which the most important definitions and algorithms
are presented in graphically appealing form. On the other hand the learner
has the possibility to enter examples and to test and reinforce his/her
new knowledge graphically on dynamically generated animations and visualizations.
Examples can be input programs, expressions or specifications. Our educational
software can be used as learning help in teaching as well as for self-instruction.
We discuss design principles used throughout the design of the software,
give a brief description of the implementation, show some examples and
discuss related work.