Lernkonzept

Vorherige Seite Inhaltsverzeichnis Nächste Seite

Lernziel

Lernziel ist ein tiefes Verständnis des Heapsort-Algorithmus. Dies umfasst:

Ablauf
Struktur der Daten und Funktionen. Schritte, die der Algorithmus ausführt.
Korrektheit
In allen Fällen berechnet der Algorithmus ein korrektes Ergebnis.
Komplexität
Bedarf an Zeit und Speicherplatz.

Nach dem Durcharbeiten des Lernprogramms sollten Sie folgende Aufgaben lösen können

Vorkenntnisse

Das Lernprogramm wurde für Informatikstudierende im zweiten Semester geschrieben, sollte aber auch ohne Vorkenntnisse verständlich sein. Es ist hilfreich, Informatikbegriffe wie Array, Baum und Komplexität zu kennen.

Modularität

In diesem Lernprogramm wird der Algorithmus stark modular gegliedert. So behandelt es die Datenstruktur zunächst auf einer abstrakten Ebene als Heapbaum und Ergebnisliste und geht erst später auf die Implementierung als Array ein. Der Algorithmus wird in mehrere kleine Funktionen aufgeteilt, die separat verstanden werden können. Sie werden jeweils mit ihrer Schnittstelle und Implementierung beschrieben. Die Schnittstelle beinhaltet die Bedingungen, die vor und nach dem Aufruf der Funktion auf der Datenstruktur gelten (ähnlich dem "Design by Contract" von Bertrand Meyer).

In vielen Lehrbüchern wird für den Algorithmus nur eine Hilfsfunktion verwendet. Dadurch lässt sich der Algorithmus zwar knapper darstellen, es leidet aber die Verständlichkeit und die Erweiterbarkeit. Deshalb wurde in diesem Lernprogramm der Algorithmus in mehrere Funktionen gegliedert. Moderne Compiler fassen beim Übersetzen die Funktionen ohnehin zusammen ("inlining"), so dass keine Laufzeiteinbußen entstehen.

Entdeckendes Lernen

Dieses Lernprogramm wurde nach der didaktischen Methode "Strukturiertes Aktives Lernen von Algorithmen" (SALA) gestaltet. Es ist zunächst Ihre Aufgabe, die Schritte des Algorithmus selbst herauszufinden. Um Sie bei diesem "entdeckenden" Lernen zu unterstützen, enthält das Lernprogramm interaktive Aufgaben mit Simulationen. Sie bestimmen selbst, wie Sie die Aufgaben bearbeiten, indem Sie sie in einen der folgenden Modi schalten:

Simulation
Sie führen selbst die Schritte aus. Dabei müssen Sie nur gewisse Bedingungen einhalten und sind sonst völlig frei.
Üben
Sie führen selbst die Schritte aus. Es ist jeweils nur der Schritt möglich, der der Standardlösung entspricht. Sie können Hinweise abrufen.
Animation
Die Lösung wird Ihnen als Animation (Trickfilm) mit Anzeige des Pseudocodes und Erklärungen vorgeführt.
Unter den Aufgaben können Sie eine Erklärung der Lösung nachlesen.

Inhaltsübersicht

Der folgende Lerninhalt besteht aus:
  1. der Datenstruktur,
  2. den sechs Funktionen des Algorithmus, sowie
  3. der Implementierung der Datenstruktur.

Navigation

Sie können den Kerninhalt wie in einem Buch Seite für Seite durcharbeiten. Zum Weiterblättern klicken Sie auf den Rechtspfeil am unteren Seitenrand. Mit dem Linkspfeil gelangen Sie zur vorhergehenden Seite zurück. Der mittlere Button führt Sie zum Inhaltsverzeichnis.


Vorherige Seite Inhaltsverzeichnis Nächste Seite