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.
|