Liebe JavaScript-Gemeinde,
als Informatiklehrer habe ich mich in den vergangenen fünf Jahren intensiv darum bemüht, didaktische Konzepte für die Verwendung der Sprache JavaScript als Implementationsmedium zu entwickeln.
Für die Einführung in die Algorithmik (Anweisungssequenzen, Fallunterscheidungen, Schleifenbildung, ...) habe ich versucht, das Konzept "Niki, der Roboter" ("Karel, the robot") von Pascal nach JavaScript zu übertragen.
Für den unterrichtlichen Einsatz Meines "JavaScript-Niki" ist entscheidend, dass die Schüler(innen) die Möglichkeit haben, Niki bei der Ausführung der von ihnen erstellten Skripte beobachten zu können. Das geht aber nur, wenn Niki nach jedem Arbeitsschritt eine kleine Pause einlegt.
Ich habe das Diskussionsforum intensiv nach Lösungen durchforstet, die mit der Philosophie von JavaSkript kompatibel sind. Leider habe ich keine brauchbare Lösung gefunden.
Ich sehe auch nach längerem Grübeln keine Möglichkeit, die Methoden "SetTimeout()" und "SetInterval()" einzusetzen, weil das Problem darin besteht, dass für die Programmierung von Niki Funktionen bereitgestellt werden müssen, die hinsichtlich der Sequenzierung ihrer Nutzung tolerant sind ("vorwaerts()", "dreheLinks()", "nimmAuf()", "gibAb()").
Über einen konstruktiven Lösungsvorschlag würden sich meine Schüler(innen) und ich sehr freuen.
Hier ist die Verknüpfung zu meiner JavaSkript-Anpassung von Niki:
http://www.ulrich-vielhauer.de/materialien/09if/niki.zip
Erläuterungen:
Die Datei "niki.htm" ist die Datei, deren Kode die Schüler editieren, um Niki zu programmieren.
Die Datei "niki-hinweise.htm" enthält Hinweise, die man gelesen haben sollte, bevor man auf den Knopf "führe aus" klickt.
Die Datei "niki.js" enthält Nikis Grundprogrammierung (Library). Der Kern des von mir geschilderten Problems besteht in der "verbotenen" Funktion "warte()".