Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Java-Hamster-Modell

Das Java-Hamster-Modell gehört zu den Minisprachen. Ziel des Modells ist es, Programmieranfängern das Erlernen grundlegender Programmierkonzepte durch den …

Inhalt5 Abschnitte
  1. 1. Grundidee und Lernziel
  2. 2. Grundbefehle und Abfragen
  3. 3. Imperative Programme
  4. 4. Objekte und mehrere Hamster
  5. 5. Kooperation paralleler Hamster

Grundidee und Lernziel

Das Java-Hamster-Modell ist eine Minisprache, die Programmieranfängern grundlegende Programmierkonzepte auf spielerische Weise vermittelt. Programme steuern einen virtuellen Hamster durch eine Landschaft und lassen ihn dort Aufgaben lösen. Dafür steht nur ein kleiner, überschaubarer Satz von Befehlen und Abfragen zur Verfügung.

Das Modell orientiert sich an der Programmiersprache Java, ist grundsätzlich aber nicht an eine bestimmte Sprache gebunden. Die Lerninhalte werden schrittweise aufeinander aufbauend eingeführt und durch zahlreiche Beispiele veranschaulicht. Eine spezielle Entwicklungsumgebung, der kostenlos verfügbare Hamster-Simulator, unterstützt beim Schreiben der Programme und stellt deren Ablauf visuell dar. Seine Gestaltung lehnt sich bewusst an bekannte Java-Entwicklungsumgebungen an.

Grundbefehle und Abfragen

Der Hamster wird mit vier Grundbefehlen gesteuert. Alle haben den Rückgabetyp void, liefern also keinen Wert zurück:

• vor(): Der Hamster geht genau ein Feld weiter. • linksUm(): Der Hamster dreht sich um 90° nach links. • nimm(): Der Hamster nimmt ein Korn auf. • gib(): Der Hamster legt ein Korn ab.

Drei Testbefehle prüfen den aktuellen Zustand. Sie haben den Typ boolean und liefern somit den Wahrheitswert TRUE, wenn die jeweilige Bedingung erfüllt ist:

• vornFrei(): TRUE, wenn der Hamster nicht vor einer Wand steht. • kornDa(): TRUE, wenn auf dem aktuellen Feld mindestens ein Korn liegt. • maulLeer(): TRUE, wenn der Hamster kein Korn im Maul hat.

Imperative Programme

Im ersten Teil lernen die Anwender die wesentlichen Konzepte der imperativen Programmierung. Dabei wird ein Programm als Folge von Anweisungen verstanden, deren Ablauf durch Kontrollstrukturen gesteuert werden kann. Behandelt werden Anweisungen, Kontrollstrukturen, Prozeduren, Funktionen, Typen, Variablen, Ausdrücke, Parameter, Rekursion und der Programmentwurf.

Aus den einfachen Grundbefehlen und Zustandsabfragen werden Prozeduren zusammengesetzt. Eine Prozedur bündelt mehrere Anweisungen zu einem neuen, komplexeren Befehl. Dadurch lernen die Anwender, größere Aufgaben in kleinere Teilaufgaben zu zerlegen und Lösungen systematisch aus bereits vorhandenen Grundelementen aufzubauen.

Objekte und mehrere Hamster

Zur Vermittlung der objektorientierten Programmierung können mehrere Hamster erzeugt werden. Jeder Hamster ist dabei ein Objekt. Die normale Hamsterklasse lässt sich durch Vererbung erweitern; Vererbung bedeutet hier, dass eine neue Klasse auf einer bestehenden Klasse aufbaut und deren Eigenschaften und Fähigkeiten übernimmt beziehungsweise ergänzt.

Als komplexe Anwendungsbeispiele lernen die Anwender zum Schluss, wie sie Hamstern das Spielen von Schach oder Reversi beibringen können. Damit zeigt das Modell, wie sich die zuvor eingeführten Programmierkonzepte auf umfangreichere Probleme übertragen lassen.

Kooperation paralleler Hamster

In der parallelen Programmierung sind die Hamster selbstständige Einheiten. Anders als bei der objektorientierten Programmierung werden sie nicht ausschließlich ausdrücklich durch den Programmierer gesteuert. Mehrere Hamster arbeiten gleichzeitig an einer Aufgabe, müssen ihre Tätigkeiten koordinieren und sich synchronisieren, also ihre parallelen Abläufe passend aufeinander abstimmen.

Die Klasse Hamster, aus der die einzelnen Hamster erzeugt werden, ist von der Klasse Thread abgeleitet. Ein Thread ist ein eigenständig ablaufender Teil eines Programms. Deshalb können im Java-Hamster-Modell alle Eigenschaften und Funktionen der Java-Thread-Programmierung genutzt werden.

Weiterlesen