<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Java-Hamster-Modell</id>
	<title>Java-Hamster-Modell - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Java-Hamster-Modell"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Java-Hamster-Modell&amp;action=history"/>
	<updated>2026-05-17T01:18:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Java-Hamster-Modell&amp;diff=722114&amp;oldid=prev</id>
		<title>imported&gt;Duschgeldrache2: HC: Ergänze Kategorie:Hamster als Thema</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Java-Hamster-Modell&amp;diff=722114&amp;oldid=prev"/>
		<updated>2025-07-21T18:16:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=WP:HC&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:HC (Seite nicht vorhanden)&quot;&gt;HC&lt;/a&gt;: Ergänze &lt;a href=&quot;/index.php?title=Kategorie:Hamster_als_Thema&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Kategorie:Hamster als Thema (Seite nicht vorhanden)&quot;&gt;Kategorie:Hamster als Thema&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Datei:JavaHamsterSimulator.png|mini|Screenshot des Java-Hamster-Simulators]]&lt;br /&gt;
[[Datei:JavaHamster.jpg|mini|Java-Hamster-Darstellung auf Konsolenbasis]]&lt;br /&gt;
&lt;br /&gt;
Das &amp;#039;&amp;#039;&amp;#039;Java-Hamster-Modell&amp;#039;&amp;#039;&amp;#039; gehört zu den [[Minisprache]]n. Ziel des Modells ist es, Programmieranfängern das Erlernen grundlegender [[Programmierung|Programmierkonzepte]] durch den Einsatz spielerischer Mittel zu erleichtern.&lt;br /&gt;
&lt;br /&gt;
Das Modell orientiert sich an der [[Programmiersprache]] [[Java (Programmiersprache)|Java]], ist aber grundsätzlich sprachunabhängig. Mit einem minimalen Satz an Befehlen sollen &amp;#039;&amp;#039;Hamster-Programme&amp;#039;&amp;#039; geschrieben werden, die einen virtuellen Hamster durch eine Landschaft steuern und ihn Aufgaben lösen lassen.&lt;br /&gt;
Grundlage des Modells ist der schrittweise Ablauf, der Programmierkonzepte aufeinander aufbauend einführt und diese durch zahlreiche Beispiele demonstriert.&lt;br /&gt;
&lt;br /&gt;
Eine spezielle Entwicklungsumgebung, der sogenannte Hamster-Simulator, hilft bei der Entwicklung und visualisiert den Ablauf der selbstgeschriebenen Hamster-Programme. Er wurde bewusst an bekannte Entwicklungsumgebungen für Java angelehnt und steht kostenlos zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
== Imperative Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Im ersten Teil des Modells werden alle wesentlichen Konzepte der [[Imperative Programmierung|imperativen Programmierung]] schrittweise motiviert und eingeführt, insbesondere Anweisungen, Kontrollstrukturen, Prozeduren, Funktionen, Typen, Variablen, Ausdrücke, Parameter, Rekursion und der Programmentwurf.&lt;br /&gt;
&lt;br /&gt;
Mit einigen Grundbefehlen wie &amp;lt;code&amp;gt;linksUm()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;nimm()&amp;lt;/code&amp;gt; und Abfragen wie &amp;lt;code&amp;gt;vornFrei()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;kornDa()&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;maulLeer()&amp;lt;/code&amp;gt; steuert man den Hamster in einer vorgegebenen Landschaft. Der Anwender lernt, aus diesen Grundelementen Prozeduren zusammenzustellen, die komplexere Befehle erlauben.&lt;br /&gt;
&lt;br /&gt;
=== Befehlsübersicht ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
!Befehle&lt;br /&gt;
!Beschreibung&lt;br /&gt;
!Typ&lt;br /&gt;
|-&lt;br /&gt;
|vor()&lt;br /&gt;
|Der Hamster geht genau 1 Feld weiter.&lt;br /&gt;
|void&lt;br /&gt;
|-&lt;br /&gt;
|linksUm()&lt;br /&gt;
|Der Hamster dreht sich um 90° nach links.&lt;br /&gt;
|void&lt;br /&gt;
|-&lt;br /&gt;
|nimm()&lt;br /&gt;
|Der Hamster nimmt ein Korn auf.&lt;br /&gt;
|void&lt;br /&gt;
|-&lt;br /&gt;
|gib()&lt;br /&gt;
|Der Hamster legt ein Korn ab.&lt;br /&gt;
|void&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
!Testbefehl&lt;br /&gt;
!Beschreibung&lt;br /&gt;
!Typ&lt;br /&gt;
|-&lt;br /&gt;
|vornFrei()&lt;br /&gt;
|Liefert TRUE, falls der Hamster nicht vor einer Wand steht.&lt;br /&gt;
|boolean&lt;br /&gt;
|-&lt;br /&gt;
|kornDa()&lt;br /&gt;
|Liefert TRUE, falls das Feld, auf dem der Hamster gerade steht, mindestens ein Korn enthält.&lt;br /&gt;
|boolean&lt;br /&gt;
|-&lt;br /&gt;
|maulLeer()&lt;br /&gt;
|Liefert TRUE, falls der Hamster kein Korn im Maul hat.&lt;br /&gt;
|boolean&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Objektorientierte Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Um das Konzept der [[Objektorientierte Programmierung|objektorientierten Programmierung]] zu erklären, können nun mehrere Hamster erzeugt werden. Über [[Vererbung (Programmierung)|Vererbung]] kann die normale Hamsterklasse erweitert werden.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Parallele Programmierung ==&lt;br /&gt;
&lt;br /&gt;
Während die Hamster in der [[Objektorientierte Programmierung|objektorientierten Programmierung]] explizit durch den Programmierer gesteuert werden, bilden sie in der [[Parallele Programmierung|parallelen Programmierung]] selbstständige Einheiten, die bei der Lösung von gestellten Aufgaben kooperieren und sich dabei koordinieren und synchronisieren müssen. Die Klasse Hamster, von der Hamster erzeugt werden, ist von der Klasse [[Thread (Informatik)|Thread]] abgeleitet, so dass bei der parallelen Programmierung mit dem Java-Hamster-Modell alle Eigenschaften und Funktionen der Thread-Programmierung genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Bildungsorientierte Programmiersprachen]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=Dietrich Boles |Titel=Programmieren spielend gelernt mit dem Java-Hamster-Modell |Auflage=5. |Verlag=Springer Vieweg |Datum=2013 |ISBN=978-3-8348-0640-6}}&lt;br /&gt;
* {{Literatur |Autor=Dietrich Boles, Cornelia Boles |Titel=Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell |Auflage=3. |Verlag=Springer Vieweg |Datum=2014 |ISBN=978-3-658-04802-0}}&lt;br /&gt;
* {{Literatur |Autor=Dietrich Boles |Titel=Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell. Programmierung mit Java-Threads |Verlag=Vieweg+Teubner |Datum=2008 |ISBN=978-3-8351-0229-3}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.java-hamster-modell.de/ www.java-hamster-modell.de]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java (Programmiersprache)]]&lt;br /&gt;
[[Kategorie:Programmierwerkzeug]]&lt;br /&gt;
[[Kategorie:Hamster als Thema]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Duschgeldrache2</name></author>
	</entry>
</feed>