Algorithmen und Datenstrukturen spielend gelernt mit dem Java-Hamster-Modell


Allgemeine Informationen

In letzter Zeit habe ich mich jedoch im Rahmen meiner Lehrtätigkeit an der Universität Oldenburg viel mit grundlegenden Algorithmen der Informatik beschäftigt. Dabei ist mir aufgefallen, dass das Hamster-Modell auf hervorragende Art und Weise dazu benutzt werden kann, die Ideen und Konzepte derartiger Algorithmen zu veranschaulichen, man spricht auch von "Algorithmenvisualisierung" oder "Algorithmenanimation". Das Problem ist nämlich, dass sich die Dynamik des Verhaltens von Algorithmen in der traditionellen Darstellung als statischer Text unterstützt durch wenige Bildern nur schwer vermitteln lässt. Genau hier helfen das Java-Hamster-Modell und der Hamster-Simulator. Durch die Aktionen der Hamster lassen sich bestimmte Vorgänge im Territorium demonstrieren und in Kombination mit dem Debugger des Hamster-Simulators kann eine Zuordnung der Aktionen zu Funktionen bzw. Methoden erfolgen.

Klassisches Beispiel sind Sortieralgorithmen. Beim Sortieren geht es darum, Mengen von Daten (bspw. Zahlen) in eine bestimmte Reihenfolge zu bringen. In der Literatur existieren Dutzende von verschiedenen Algorithmen, die diese Aufgabe mehr oder weniger schnell bewältigen. Ein leistungsfähiger Algorithmus nennt sich bspw. Quicksort. Dieser arbeitet jedoch rekursiv und viele Programmieranfänger tun sich schwer damit, das grundlegende Prinzip dieses Algorithmus zu verstehen. An dieser Stelle greifen nun die Hamster ein. Sie sortieren zwar keine Zahlen, sondern Körnerhaufen, aber Sie zeigen Ihnen dabei im Territorium durch das entsprechende Umsortieren der Haufen, auf welche Art und Weise der Quicksort-Algorithmus prinzipiell vorgeht. Damit sollten es Ihnen dann auch nicht weiter schwer fallen, den grundsätzlichen Quicksort-Algorithmus zu verstehen.

Diese zusätzliche Eigenschaft des Java-Hamster-Modells, ein hervorragendes Hilfsmittel zur Algorithmenvisualisierung darzustellen, möchte ich natürlich nicht ungenutzt lassen. Deshalb arbeite ich an einem vierten Band, der den Titel "Algorithmen und Datenstrukturen spielend gelernt mit dem Java-Hamster-Modell" trägt.

Die Vorstellung eines Algorithmus wird dabei jeweils in mehrere Teile aufgeteilt: eine textuelle Beschreibung, Beispiele, der allgemein gültige Sourcecode des Algorithmus und ein Hamster-Programm, das den Algorithmus in einer Hamster-spezifischen Art visualisiert. Wenn Sie sich mit einem Algorithmus beschäftigen, sollten Sie dieses Hamster-Programm im Hamster-Simulator starten und sich dadurch den Algorithmus demonstrieren lassen. Sie werden sehen, es hilft Ihnen enorm, das Prinzip des Algorithmus zu verstehen.

Das Buch ist als kostenloses Online-Buch über diese Website zugreifbar. Es wird nie fertig sein, sondern stetig fortgeschrieben.


Version 1

Version 1.0 des 4. Bandes des Java-Hamster-Buches mit dem Titel "Algorithmen und Datenstrukturen spielend gelernt mit dem Java-Hamster-Modell" ist fertig (18.4.2005). Diese erste Version des Buches stellt die sechs bekanntesten Sortieralgorithmen vor. Ich stelle das Buch kostenlos zur Verfügung. Bitte beachten Sie jedoch die Lizenzbedingungen.

Die Hamster-Programme sind nicht primär zum Lesen, sondern zum Ausführen gedacht. Machen Sie daher folgendes:
  • Laden Sie sich die Programme von der Hamster-Website herunter: sortieren.zip (73 KB)
  • Entpacken Sie die Datei in den Unterordner Programme des Ordners, in dem sich der Hamster-Simulator befindet.
  • Starten Sie den Hamster-Simulator.
  • Laden Sie eines von mehreren vorbereiteten Territorien aus dem Ordner sortieren. Diese Territorien enthalten zu sortierende Körnerhaufen.
  • Führen Sie die Sortierprogramme (Ordner sortieren) aus und lassen Sie sich von den Hamster demonstrieren und erläutern, wie die entsprechenden Sortieralgorithmen funktionieren.