Programmieren mit Kara
Ein spielerischer Zugang zur Informatik
Als unzweifelhaft langlebigstes Element des Informatikunterrichts gilt das
algorithmische Denken. Im Zeitalter der Informations-Technologien ist ein
Grundverständnis algorithmischer Prozesse für alle Schüler
anzustreben. Doch wie erreicht man das, ohne dass der Unterricht zu einem
Programmierkurs entartet? Hier bietet die an der ETH-Zürich entwickelte
und mit dem European Academic Software Award 2002 ausgezeichnete
Kara-Lernumgebung in didaktisch meisterhafter Weise Lösungen für verschiedene
Anspruchsniveaus an. Kara ist ein Marienkäfer, der in seiner begrenzten Welt
zwischen Baumstümpfen, Pilzen und Kleeblättern lebt. Er kann sich bewegen,
Kleeblätter ablegen oder aufnehmen und Pilze verschieben. Sensoren ermöglichen
es ihm, Baumstümpfe vor und neben sich, Pilze vor sich und Kleeblätter unter sich
zu erkennen. Das ist alles.
Kara kann nun auf verschiedene Arten gesteuert bzw. programmiert werden:
- Als endlicher Automat wird er durch rein graphische Erstellung eines
Zustands-Übergangs-Diagramms ohne eine einzige Zeile Text zum Leben
erweckt. Die Bedienung ist beispielhaft intuitiv, so dass
keinerlei Erklärungen seitens der Lehrkraft nötig sind.
Wenn man Schüler erleben möchte, die mit höchster
Konzentration auch in der Pause durch arbeiten und schwierige
Probleme mit viel Spaß dabei lösen, der sollte ihnen Kara zeigen.
Da das Konzept des endlichen Automaten den Schülern weitgehend unbekannt
ist, ergibt sich ein positiver Nebeneffekt dadurch, dass ein Schüler mit
gewissen Grundkenntnissen informatischer Inhalte praktisch keine Vorteile
gegenüber einem Anfänger besitzt. Beide müssen sich einfach nur auf
das Analysieren des Problems und das Entwerfen einer Lösung konzentrieren
und lernen dabei wie bei kaum einem anderen Unterrichtsgegenstand striktes
logisches Denken.
- Zum sanften Einstieg in die Programmierung mit Java ist JavaKara
gedacht. Durch den überschaubaren Befehlsvorrat gelingt spielerisch der Einstieg
in eine ,,richtige'' Programmiersprache. Die Java-Programme werden in einem
integrierten Editor geschrieben, durch einen Mausklick kompiliert
und in einem zweiten Fenster gestartet. Bei der Einführung der algorithmischen
Grundstrukturen und bis zur Behandlung der Rekursion kann JavaKara mit großem
Gewinn eingesetzt werden und hat sich in der Schulpraxis bestens bewährt.
Mit keinem anderen System können rekursive Probleme so schön sichtbar
gemacht werden!
- Für fortgeschrittenere Themen stehen MultiKara zur Programmierung
nebenläufiger Prozesse und Turing-Kara als zweidimensionale Turing-Maschine
zur Verfügung. Durch die Zweidimensionalität gelingt es nicht nur Studenten der
theoretischen Informatik, sondern auch Schülern, nichttriviale Turing-Programme
zu entwickeln.
Und wer den Roboter nicht nur in seiner virtuellen Welt
erleben möchte, kann sich einen Lego-Mindstorms-Kara bauen und ihn
in der realen Welt bestaunen.
Das Buch enthält viele Beispielprogramme - vom Zweizeiler für ein chaotisches
System bis zur universellen Turing-Maschine. Die Beispiele werden in ihrem
theoretischen Kontext vorgestellt, so dass der Leser nebenbei Vieles über
Automatentheorie, Nebenläufigkeit und Berechenbarkeit erfährt, alles
in sehr anschaulicher Weise.
Das Buch richtet sich an Lehrer und Dozenten, Studenten und interessierte
Schüler der gymnasialen Oberstufe.
Die Lernumgebung ist ein Java-Programm und somit auf praktisch
allen Betriebssystemen lauffähig, wobei mindestens eine Java-Runtime-Umgebung installiert
sein muss. Für den Einsatz von JavaKara ist ein Java-Software-Development-Kit erforderlich.
Von der Lernumgebung gibt es zwei Versionen. Die eher für den Lehrer gemachte Version
allkara.jar enthält viele Beispielaufgaben mit Lösungen, die in der
Schülerversion allkara-x.jar fehlen.
Die Programmierumgebung und umfassendes
Begleitmaterial inkl. vieler direkt im Unterricht einsetzbarer Arbeitsblätter
können auf der Seite
http://www.educeth.ch/informatik/karatojava
frei herunter geladen werden.
(C) Horst Gierhardt, Zeitschrift Informatik-Spektrum Heft 3/04 (Juni 2004)