Programmieren lernen mit Java Kara

java kara
Situation Passende Kara-Variante Planning use
Keine Programmiervorkenntnisse Automaten-Kara Zustände und Übergänge zuerst zeichnen, Java-Syntax folgt später.
Java-Syntax steht im Kurs an Java-Kara Befehle wie move und turnLeft direkt als Methodenaufrufe schreiben.
Kurs arbeitet mit Python Python-Kara Die Befehle sind mit Java-Kara identisch, die Aufgabenideen bleiben gleich.
Zählen und Wiederholen üben Java-Kara mit Zählaufgabe Fünf Kleeblätter legen, mit int-Zähler und for-Schleife.

Die Varianten und Befehle stammen aus dem SibiWiki-Eintrag zu Kara, die Zählaufgabe aus dem SwissEduc-Material zu Kara.

Java Kara eignet sich für den Einstieg, wenn Schülerinnen und Schüler Befehle wie move und putLeaf in Java schreiben sollen. Wer zuerst Zustände und Übergänge üben will, startet mit Automaten-Kara. Beide Wege führen zur selben Kara-Welt.

Die Aufgaben unten sind nach Situationen und aufsteigender Schwierigkeit geordnet. Wie Kara in den Gesamtrahmen des informatikunterricht oberstufe passt, zeigt die Übersicht zum Fach.

Einstieg ohne Vorkenntnisse

Kara ist laut SibiWiki eine weitverbreitete Programmierumgebung, die einen einfachen Einstieg in die Programmierung ermöglicht. Wer den Kara-Marienkäfer programmiert, steuert eine Figur auf einer Rasterwelt und sieht jede Anweisung sofort am Bildschirm. Das macht Fehler sichtbar, ohne dass Konsolenausgaben gelesen werden müssen.

Die Kara-Welt und ihre Elemente

In der Welt gibt es Bäume, Pilze und Kleeblätter. Das zeigen die Sensoren treeFront, mushroomFront und onLeaf, mit denen Kara die Umgebung abfragt. Kleeblätter kann Kara ablegen und aufnehmen, Bäume und Pilze dagegen sind Hindernisse oder Prüfobjekte. Für den ersten Termin genügt es, diese Elemente zu benennen und eine kleine Welt von Hand durchzuspielen.

Ein Laptop mit geöffnetem Editor als Platzhalter für die Programmierumgebung. Das Bild zeigt keinen Kara-Screenshot.

Befehle und Sensoren im Überblick

Der Befehlssatz ist klein. Das ist für Anfänger ein Vorteil, weil sich kaum etwas verwechseln lässt.

  • Bewegung: move lässt Kara einen Schritt nach vorne laufen, turnLeft und turnRight drehen sie.
  • Kleeblätter: putLeaf legt ein Kleeblatt ab, removeLeaf nimmt es auf.
  • Sensoren: treeFront, treeLeft und treeRight prüfen auf Bäume, mushroomFront auf einen Pilz vor Kara, onLeaf auf ein Kleeblatt unter ihr.

Alle Anweisungen und Sensoren stehen laut SibiWiki in jedem Kara-Programm ganz oben in einem Kommentar. Ein separates Nachschlagewerk ist deshalb im Unterricht nicht nötig.

Aufgaben für den ersten Termin

Für den Einstieg eignen sich Aufgaben, die nur Bewegung und einen Sensor verbinden. Das gilt etwa für den Weg bis zum nächsten Baum oder für das Ablegen eines Kleeblatts an einer bestimmten Stelle. Wichtig ist, dass jede Aufgabe eine Entscheidung braucht, die Kara aus einem Sensorwert trifft. Reine Befehlsfolgen ohne Abfrage lehren zwar die Reihenfolge, aber noch keine Algorithmen im eigentlichen Sinn.

Vom endlichen Automaten zur Java-Lösung

Wer Kara über den Automaten kennenlernt, löst Aufgaben zunächst ohne Quelltext. Der Weg zur Java-Lösung ist dann ein Übersetzungsschritt statt eines Neuanfangs.

Kara und der endliche Automat

Das SibiWiki führt Automaten-Kara als eigene Variante neben Java-Kara und Python-Kara auf. Ein endlicher Automat beschreibt das Verhalten als Zustände, die durch Sensorwerte in andere Zustände übergehen. Für die Kara-Aufgaben heißt das: Erst legt die Klasse fest, welche Situationen Kara unterscheiden muss, etwa Baum vor ihr oder Kleeblatt unter ihr. Danach wird für jede Situation die passende Aktion notiert.

Der Automat als Skizze vor dem Code

Die Skizze lohnt sich auch für Gruppen, die später in Java arbeiten. Sie zwingt dazu, jede Sensorabfrage und jede Folgeaktion vorab zu benennen. Wer so vorgeht, schreibt die Java-Lösung später als Abfolge von Bedingungen nach, statt beim Tippen zu raten. Der Nachteil: Für sehr kurze Aufgaben wie einen einzelnen Schritt bis zum Baum ist der Umweg überflüssig.

Dieselbe Aufgabe mit Java-Kara

In Java-Kara steuert der Quelltext die Figur über Methodenaufrufe wie kara.move() oder kara.treeFront(). Der Befehlssatz ist laut SibiWiki für Java-Kara und Python-Kara identisch. Wer eine Lösung in Java gefunden hat, kann sie in Python also fast wörtlich nachbauen und umgekehrt.

Eine Faustregel für den Übergang: Jeder Zustand des Automaten wird zu einer Bedingung im Programm, jede Aktion zu einem Methodenaufruf. So entstehen Kara-Java-Lösungen, die sich an der eigenen Skizze nachvollziehen lassen.

Welche Variante passt?

  • Automaten-Kara: sinnvoll, wenn die Gruppe noch keine Syntax kennt und zuerst das Denken in Zuständen üben soll.
  • Java-Kara: sinnvoll, wenn der Lehrplan Java vorsieht und die Klasse schon Variablen oder Methoden kennt.
  • Python-Kara: sinnvoll, wenn der Kurs Python nutzt. Der Befehlssatz bleibt derselbe.

Zählen und Schleifen als nächste Stufe

Sobald Bewegung und Sensoren sitzen, lohnt der Schritt zu Variablen und Wiederholungen. Das SwissEduc-Material zu Kara bietet dafür eine klare Zählaufgabe.

Farbig hervorgehobener Quelltext mit Zeilennummern im Editor. Der Ausschnitt zeigt PHP und HTML und dient nur als Beispiel für eine Editoransicht, nicht für Java-Kara.

Fünf Kleeblätter legen

Laut SwissEduc soll Kara vor sich eine Spur von fünf Kleeblättern legen und dabei in einer Variablen mitzählen. Die Aufgabe ist ein guter Prüfstein: Wer sie ohne Schleife löst, schreibt dieselben Zeilen mehrfach und merkt von selbst, warum Wiederholungen nötig sind.

Gemeinsames Arbeiten an Laptops als Beispielbild. Es zeigt keinen Computerraum und keine Kara-Aufgabe.

Die for-Schleife richtig aufbauen

Die Syntax lautet for (Startwert; Bedingung; Zählweise) { Anweisungen }. SwissEduc empfiehlt, die Zählvariable direkt im Schleifenkopf zu deklarieren, und rät, sich nur diese Variante anzugewöhnen. Das hält die Variable auf die Schleife begrenzt und verhindert, dass ein alter Wert in späteren Aufgaben stört.

Ganzzahltypen: wann sie relevant werden

Java kennt fünf verschiedene Integer-Typen. Für den Kara-Zähler genügt int, wie es die SwissEduc-Aufgabe verwendet. Die Typenvielfalt bleibt zunächst Randwissen und kommt erst bei größeren Zahlenbereichen ins Spiel.

Ein Entwurf auf Papier mit Lineal und Stift steht hier für die Planung vor dem Programmieren. Abgebildet ist ein Grundriss, kein Zustandsdiagramm.

Kara im Unterricht einsetzen

Kara passt in Phasen, in denen die Klasse am Rechner selbstständig arbeitet. Die kleine Befehlsliste und die sichtbare Welt erlauben es, dass Lernende sich gegenseitig Fehler zeigen, ohne dass die Lehrkraft jede Zeile prüfen muss.

Aufgaben als Reihe planen

Eine sinnvolle Reihenfolge führt von Bewegung über Sensorabfragen zu Zähler und Schleife. Der Automat steht je nach Vorwissen davor oder wird parallel skizziert. Wie sich so eine Reihe didaktisch begründen lässt, behandelt der Beitrag zur didaktik informatikunterricht.

Material für weitere Stunden

Wer über Kara hinaus Aufgabenblätter und Vorlagen sucht, findet Hinweise im Überblick zu unterrichtsmaterial informatik oberstufe. Kara selbst gibt es laut SibiWiki für die verschiedensten Programmiersprachen, sodass sich die Aufgabenreihe an die Kurssprache anpassen lässt.

Frequently asked questions

Frage Antwort
Was ist Kara und wie funktioniert die Programmierung? Kara ist eine verbreitete Programmierumgebung für den Einstieg. Eine Figur bewegt sich über ein Raster und wird über Befehle gesteuert. Sensoren fragen die Umgebung ab.
Wie programmiere ich Kara mit Java statt mit Automaten? Mit Java-Kara schreibt man Methodenaufrufe wie kara.move() im Quelltext. Die Skizze eines Automaten lässt sich dabei als Gerüst für die Bedingungen nutzen.
Brauche ich für Python-Kara andere Befehle? Nein. Die Befehle sind laut SibiWiki für Java-Kara und Python-Kara identisch.
Wo finde ich die verfügbaren Befehle? In jedem Kara-Programm stehen Anweisungen und Sensoren ganz oben in einem Kommentar.