next up previous contents
Nächste Seite: Inhalt Aufwärts: hamster4 Vorherige Seite: Lizenzbedingungen   Inhalt

Vorwort

Ursprünglich war das Java-Hamster-Modell dazu gedacht, Programmieranfänger auf spielerische Art und Weise in die (imperative) Programmierung einzuführen. Es sollten nicht so sehr - wie in vielen existierenden Lehrbüchern der Fall - technische Feinheiten der Programmentwicklung, sondern vielmehr das Lösen von Problemen durch Computerprogramme im Vordergrund stehen. Der erste Band des Java-Hamster-Buches mit dem Titel ,,Programmieren spielend gelernt mit dem Java-Hamster-Modell``, der 1999 in der ersten Auflage im Teubner-Verlag erschienen ist, verfolgt genau dieses Ziel.

Heutzutage kommt jedoch sowohl in der Ausbildung als auch in der Industrie der objektorientierten Programmierung eine hohe Bedeutung zu, da sie eine Menge von Vorteilen gegenüber anderen Programmierparadigmen verspricht. Daher habe ich das Java-Hamster-Modell dahingehend erweitert, dass es auch in die objektorientierte Programmierung mit der Programmiersprache Java einführt. Das entsprechende Buch, der zweite Band des Java-Hamster-Buches, mit dem Titel ,,Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell`` ist im September 2004 in der ersten Auflage ebenfalls im Teubner-Verlag erschienen.

In Band 2 wird im Vorwort angekündigt, dass es noch einen dritten Band geben wird, der in die parallele Programmierung einführt und dabei das Thread-Konzept von Java nutzt. Aktuell arbeite ich an diesem Buch, das den Titel ,,Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell`` haben wird.

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 hervorragende Hilfsmittel zur Algorithmenvisualisierung darzustellen, möchte ich natürlich nicht ungenutzt lassen. Deshalb arbeite ich mit Unterstützung von Informatik-Studierenden parallel zum dritten Band des Java-Hamster-Buches an einem vierten Band, der den Titel ,,Algorithmen und Datenstrukturen spielend gelernt mit dem Java-Hamster-Modell`` tragen wird und den Sie in Version 1.0 jetzt vor sich haben. Dieser vierte Band wird voraussichtlich nie in Buchform erscheinen, sondern frei verfügbar im WWW zugänglich sein. Er wird auch nie ,,fertig`` sein, sondern stetig fortgeschrieben werden. Ich beginne mit den Sortieralgorithmen. Es gibt jedoch viele weitere interessante, wichtige und nützliche Algorithmen. Diese werde ich - soweit es mir meine Zeit zulässt - dann nach und nach hinzufügen.

Die Vorstellung eines Algorithmus wird dabei jeweils in mehrere Teile aufgeteilt: eine textuelle Beschreibung, 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.

Wenn Sie selber Ideen zur Visualisierung bestimmter Algorithmen haben, scheuen Sie sich nicht, diese umzusetzen. Ich würde mich freuen, wenn Sie mir Ihre Arbeiten zukommen lassen würden und ich sie anderen ,,Hamster-Fans`` zur Verfügung stellen könnte. Meine EMail-Adresse lautet: boles@informatik.uni-oldenburg.de.

Nun wünsche ich allen Leserinnen und Lesern viel Spaß beim Kennenlernen wichtiger Algorithmen der Informatik. Die Hamster freuen sich schon darauf, sie Ihnen näher zu bringen!

Oldenburg, im April 2005 Dietrich Boles


next up previous contents
Nächste Seite: Inhalt Aufwärts: hamster4 Vorherige Seite: Lizenzbedingungen   Inhalt
Dietrich Boles 2005-04-18