Java-Hamster-Modell

Lerninstrument für Programmieranfänger
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. November 2007 um 16:39 Uhr durch 134.106.56.92 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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

Das Modell orientiert sich an der Programmiersprache Java, ist aber grundsätzlich sprachunabhängig. Mit einem minimalen Satz an Befehlen sollen Hamster-Programme geschrieben werden, die einen virtuellen Hamster durch eine Landschaft steuern und ihn Aufgaben lösen lassen. Grundlage des Modells ist der schrittweise Ablauf, der Programmierkonzepte aufeinander aufbauend einführt und diese durch zahlreiche Beispiele demonstriert.

Ein Hamster-Simulator hilft bei der Entwicklung und visualisiert den Ablauf der selbstgeschriebenen Hamster-Programme. Er wurde bewusst an bekannten Entwicklungsumgebungen für Java angelehnt und steht kostenlos zur Verfügung.

Imperative Programmierung

Im ersten Teil des Modells werden alle wesentlichen Konzepte der imperativen Programmierung schrittweise motiviert und eingeführt, insbesondere Anweisungen, Kontrollstrukturen, Prozeduren, Funktionen, Typen, Variablen, Ausdrücke, Parameter, Rekursion und der Programmentwurf.

Mit einigen Grundbefehlen wie linksUm und nimm und Abfragen wie vornFrei und kornDa steuert man den Hamster in einer vorgegebenen Landschaft. Der Anwender lernt, aus diesen Grundelementen Prozeduren zusammenzustellen, die komplexere Befehle erlauben.

Objektorientierte Programmierung

Um das Konzept der objektorientierten Programmierung zu erklären haben die Hamster die Fähigkeit sich fortzupflanzen und ihre Fähigkeiten und ihr Wissen an die Nachkommen zu vererben.

Zum Schluss lernen die Anwender, wie sie den Hamstern das Schach- oder Reversispielen beibringen können. So soll gezeigt werden, wie die zuvor vorgestellten Konzepte auf komplexe Probleme angewandt werden können.