EN FR DE
 
Startseite Wer sind wir? Nehmen Sie teil Pressebereich
Bibliothek
Megalab
Praxis

eKurse
Nachrichten
Veranstaltungen

Mitglied 

Meine Community
Forum
Praktisch
Alle Werkzeuge

Newsletter

Vorherige Ausgaben




  Home > Praxis > Beispiele > Algorithmusvisualisierung zur Vereinfachung des Lehrens von Algorithmen  

Algorithmusvisualisierung zur Vereinfachung des Lehrens von Algorithmen

Stavros Nikou ist ein Mitglied der Xplora-Lehrergruppe. Er unterrichtet sowohl Informatik in öffentlichen Sekundarschulen als auch Programmierung, Datenbanken, Internet und Multimedia in Berufsschulen. Sein Artikel ermöglicht uns einen Einblick in die Vorzüge der Algorithmusvisualisierung zur Vereinfachung des Lehrens von Algorithmen.

     

Als Informatiklehrer unterrichte ich unter anderem Algorithmen, im Grunde einen Einführungskurs: sehr einfache Konzepte im Gymnasium, detailliertere algorithmische Konstruktionen im Hörsaal, wie Folge, Wiederholung, Auswahl sowie einfache statische Datenstrukturen und die Bearbeitung der letzteren (Suchen, Sortieren, usw.).

Der Unterricht über Algorithmen ist manchmal sehr schwierig für SchülerInnen, da die Software selbst ein abstraktes Material ist. Ziel ist es, die Daten und Bearbeitung der Algorithmen leicht verständlich zu gestalten.

Zusammen mit der traditionellen Präsentation der Algorithmen auf der Schultafel und dem graphischen Debugger-Hilfsmittel für die Programmiersprache, die zu erlernen ist, versuche ich, den Unterricht anhand der Algorithmusvisualisierung zu vereinfachen.

„Die Softwarevisualisierung verbindet die Anwendung der Handwerke der Typographie, des graphischen Designs, der Animation und Kinematographie mit der modernen Interaktion zwischen Mensch und Computer und der Computergraphiktechnologie, um sowohl das menschliche Verständnis als auch den wirkungsvollen Nutzen der Computersoftware zu vereinfachen.“1

In der Softwarevisualisierung gibt es zwei wichtige Teilbereiche:
• Programmvisualisierung (mit Schwerpunkt auf der Softwaretechnik); hier hilft die Visualisierung Programmierern, Kodierern, Entwicklern. 
• Algorithmusvisualisierung (mit Schwerpunkt auf der Pädagogik), hier hilft die Visualisierung beim Lehren von Algorithmen und Datenstrukturen. 

Die Idee hinter der Algorithmusvisualisierung ist es, anhand von graphischen Techniken sowohl Daten als auch Vorgänge zu präsentieren. Die Frage ist „Helfen Algorithmen beim Lernen?“2
Helfen Algorithmusanimationen den SchülerInnen wirklich beim Lernen?
Es wird gesagt, dass „ein Bild mehr sagt als 1000 Worte“.  Trifft dies auch auf das Lehren von Algorithmen zu?

Die Forschungsresultate sind gemischt. Laut einigen Forschern hat die Anwendung von Animationen zum Verstehen von Algorithmen weniger förderliche Auswirkungen auf das Lernen als erhofft3. Dies mag in einigen Fällen zutreffen, aber wenn die Algorithmusanimation auf wirksame Art und Weise aufgebaut 4 und zusammen mit anderen pädagogischen Methoden angemessen benutzt wird, kann sie beim Lernprozess behilflich sein. Dies hat unser kleines Klassenexperiment bis jetzt ergeben.

Wir gehen wie folgt vor:
• Die SchülerInnen erhalten erst eine Vorlesung zum Thema Algorithmus, mit theoretischen Zeichnungen auf der Schultafel unter Anwendung von Beispieldatensätzen.
• Anschließend werden den SchülerInnen Multiple-Choice-Fragen ausgeteilt, um ihr bisheriges Verständnis der Algorithmen zu testen.
• Dann führen wir einige graphische Repräsentationen vor, wie weiter unten erklärt.
• Letztendlich werden die Multiple-Choice-Fragen nach der Visualisierung noch einmal ausgeteilt.  Und meistens zeigen die Testresultate hier ein besseres Verständnis des Algorithmus.

 Abhängig vom Algorithmus und dem Hintergrund der SchülerInnen benutzen wir verschiedene Algorithmusanimationshilfsmittel:

• Die SchülerInnen werden in Gruppen gebeten, selbst Algorithmusvisualisierungen vorzubereiten. Üblicherweise benutzen sie dazu Microsoft PowerPoint, Macromedia Flash kann aber auch benutzt werden. Ein Beispiel einer solchen Präsentation ist die loop.pps Datei.
• Webressourcen – Javaprogramme mit einigen sehr nützlichen Animationen, vor allem für die Such- (sequentiell, binär) und Sortiermethoden (Blase, Einfügen, Auswahl, usw.).

Werfen Sie einen Blick auf:
- http://www.animal.ahrgr.de/Anims/animations.php3
http://math.hws.edu/TMCM/java/
http://www.akira.ruc.dk/~keld/algoritmik_e99/Applets/


• Benutzung von Algorithmushilfsmitteln wie:

Jeliot3- Das algorithmische Theater 
Jeliot 3 ist eine Anwendung zur Programmvisualisierung. Sie visualisiert, wie ein Javaprogramm gedeutet wird. Methodenaufrufe, Variable, Vorgänge werden auf dem Schirm angezeigt, während die Animation fortgesetzt wird, und erlauben es so den SchülerInnen, Schritt für Schritt der Durchführung eines Programms zu folgen. Es ist eine freie Software (gemäß den Bedingungen der GNU General Public License), die unter Windows läuft.


ALgorithm VIsualization Storyboarder (ALVIS)
ALVIS 2.0 ist ein Hilfsmittel für die Algorithmusvisualisierungstechnologie, das laut seinen Urhebern den schnellen Aufbau und die interaktive Präsentation von „low fidelity“ Algorithmusvisualisierungen erlaubt.



Zu guter Letzt einige Kommentare über die Anwendung der Algorithmusvisualisierung:

• Die SchülerInnen interessieren sich mehr für das Thema und sind motivierter.
• Sie verstehen den Algorithmus besser.
• Wenn die SchülerInnen mit der Animation des Algorithmus umgehen, das heißt ihre eigenen Datensätze einbringen und versuchen, den nächsten Schritt vorherzusehen, ist der Nutzen üblicherweise größer, als wenn sie die Ausführung des Algorithmus nur passiv beobachten.

Wir können also daraus schließen, dass die Algorithmusvisualisierung, zusammen mit anderen Methoden, beim Lehren von Algorithmen den Lernprozess beschleunigt und fördert.


Referenzen

1. Price, Baecker und Small, “Introduction to Software Visualization” , MIT Press, 1998
2. Michael D. Byrne, Richard Catrambone, John T. Stasko, “Do Algorithm Animations Aid Learning?”, Georgia Institute of Technology, 1996
3. Colleen Kehoe, John Stasko, Ashley Taylor, “Rethinking the Evaluation of Algorithm Animations as Learning Aids:An Observational Study”, Georgia Institute of Technology, 1999
4. Rudolf Fleischer  und Ludek Kucera, “Algorithm animation for teaching”

Copyright - Haftungsausschluss - Kontakt - Sitemap