Java/Hamster
Programmieranfänger haben häufig Schwierigkeiten damit, dass sie beim Programmieren ihre normale Gedankenwelt verlassen und in eher technisch-orientierten Kategorien denken müssen, die ihnen von den Programmiersprachen vorgegeben werden. Gerade am Anfang strömen oft so viele inhaltliche und methodische Neuigkeiten auf sie ein, dass sie das Wesentliche der Programmierung, nämlich das Lösen von Problemen, aus den Augen verlieren.
Das Hamster-Modell ist mit dem Ziel entwickelt worden, dieses Problem zu lösen. Mit dem Hamster-Modell wird Programmieranfängern ein einfaches, aber mächtiges Modell zur Verfügung gestellt, mit dessen Hilfe Grundkonzepte der imperativen und objektorientierten Programmierung auf spielerische Art und Weise erlernt werden können. Programmierer entwickeln Programme, mit denen sie virtuelle Hamster durch eine virtuelle Landschaft steuern und bestimmte Aufgaben lösen lassen. Die Anzahl der gleichzeitig zu berücksichtigenden Konzepte wird im Hamster-Modell stark eingeschränkt und nach und nach erweitert.
Prinzipiell ist das Hamster-Modell programmiersprachenunabhängig. Zum praktischen Umgang mit dem Modell wurde jedoch bewusst die Programmiersprache Java als Grundlage gewählt.
Zum Java-Hamster-Modell sind zwei Bücher im Teubner-Verlag erschienen. Weiterhin gibt es kostenlos den so genannten Hamster-Simulator, mit dem man Hamster-Programme entwickeln, ausführen und testen kann.
Weitere Infos und Materialien gibt's unter: http://www.java-hamster-modell.de
Befehle
vor() Der Hamster geht 1 Feld weiter, keine Rückgabe (void) linksUm() Der Hamster dreht sich um 90° nach links, keine Rückgabe (void) nimm() Der Hamster nimmt ein Korn auf, keine Rückgabe (void) gib() Der Hamster legt ein Korn ab, keine Rückgabe (void) vornFrei() Liefert TRUE, falls der Hamster nicht vor einer Wand steht, Rückgabe boolean kornDa() Liefert TRUE, falls das Feld, auf dem der Hamster gerade steht, mindestestens ein Korn enthält, Rückgabe boolean maulLeer() Liefert TRUE, falls der Hamster kein Korn im Maul hat, Rückgabe boolean