Kara – Programmieren mit endlichen Automaten

Verfasst von Jürg Nievergelt, Werner Hartmann, Raimond Reichert, Markus Brändle, Tobias Schlatter, mit Beiträgen von Philipp Boksberger, Horst Gierhardt, Reto Lamprecht, Remo Meier, Horst Müller, Nicole Völki, Samuel Zürcher.

Kara-large
FachgebietInformatik, Einstieg ins Programmieren
SchultypGymnasium, Berufsschule, Fachhochschule etc.
ZielgruppeSchüler/innen mit keiner oder wenig Programmiererfahrung

Worum geht es?

Kara ist ein Marienkäfer, der in einer einfachen Welt lebt. Er kann programmiert werden und so diverse Aufgaben erledigen, zum Beispiel Kleeblätter sammeln. Karas Programme sind endliche Automaten und werden in einer grafischen Entwicklungsumgebung erstellt.

Kara vermittelt einen Einstieg in die Grundideen der Programmierung. Zwei Eigenschaften machen den Einstieg mit Kara attraktiv: Endliche Automaten sind einfach zu verstehen, die Einarbeitungszeit ist daher minimal. Zudem arbeitet man bei Kara in einer einfachen Umgebung, ohne mit komplexen Entwicklungsumgebungen konfrontiert zu werden. Auf spielerische Art und Weise machen sich die Schüler/innen mit fundamentalen Ideen der Programmierung vertraut. Kara wird erfolgreich auf verschiedenen Schulstufen (Berufsbildende Schulen, Gymnasien, Fachhochschulen etc.) eingesetzt.

Lernziele beim Einsatz von Kara

» Grundlagen der Programmierung: Mit endlichen Automaten kann eine der fundamentalen Ideen von Algorithmen einfach illustriert werden. Ein Programm ist die Spezifikation eines eindeutig bestimmten zeitlichen Ablaufes von Ereignissen – analog zum Regieplan in einem Theater. Die Abläufe müssen auch auf externe Ereignisse reagieren können. Um ein korrektes Systemverhalten zu garantieren, braucht es eine statische Spezifikation, welche die korrekten Abläufe von der noch viel grösseren Vielfalt der inkorrekten Abläufe trennt. Kara illustriert diese grundlegende Idee an einfachen Beispielen. Zudem lassen sich auch Konzepte wie Boole'sche Aussagenlogik und Programmverifikation (Pre-Conditions, Invarianten etc.) aufzeigen.

» Modell der endlichen Automanten. Endliche Automaten sind eines der einfachsten Berechnungsmodelle der Informatik. Mit ihnen kann das Verhalten vieler aus dem Alltag bekannter Automaten beschrieben werden. Kara veranschaulicht das Konzept endlicher Automaten.

Downloads

Programm: kara.jar (setzt <strong>Java 17</strong> voraus) - JAR [4 MB] Programm: kara.jar (setzt Java 17 voraus)JAR [4 MB]
Programm (ohne Lösungen): kara-x.jar (setzt <strong>Java 17</strong> voraus) - JAR [4 MB] Programm (ohne Lösungen): kara-x.jar (setzt Java 17 voraus)JAR [4 MB]
 
Programm: kara.jar (setzt Java 6 voraus) - JAR [4 MB] Programm: kara.jar (setzt Java 6 voraus)JAR [4 MB]
Programm (ohne Lösungen): kara-x.jar (setzt Java 6 voraus) - JAR [4 MB] Programm (ohne Lösungen): kara-x.jar (setzt Java 6 voraus)JAR [4 MB]
 
Anleitung - PDF [199 KB] AnleitungPDF [199 KB]

Links

Weitere Downloads (Kara für ältere Java-Versionen; Kara in English; weitere Kara-Varianten)
Programmierkurs basierend auf Kara