Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Vorüberlegungen

Objektorientierte Programmierung mit allem, was dazugehört, ist schwer! Sie bereitet den Schülern zu Beginn oft Probleme. Es ist schwer nachzuvollziehen, wie die ganzen kleinen Codesegmente (der einzelnen Methoden) zusammenhängen. Die Schüler verlieren leicht den Überblick, welche Methode wo von wem aufgerufen wird, da das Programm nicht einfach linear von oben nach unten abgearbeitet wird. Den Nutzen der OOP durch bessere Strukturierung des Quelltextes und die mögliche Wiederverwendung der Klassen erkennen sie oft gar nicht, da im Unterricht nur kleine Projekte umgesetzt werden. Notwendig/sinnvoll wird objektorientierte Programmierung nur dann, wenn größere Projekte umgesetzt werden.

Diese Unterrichtseinheit sollte daher nicht mit Programmieranfängern durchgeführt werden. Die Schüler sollten schon Erfahrungen mit Java-Programmierung gesammelt haben. Der Lernansatz „objects first“, der von vielen Informatikdidaktikern unterstützt wird, lässt sich nur dann umsetzen, wenn man sich zunächst auf einzelne, einfache Klassen beschränkt, wie dies auch am Anfang des hier vorgeschlagenen Unterrichtsgangs (6er-Würfeln) empfohlen wird. Danach müssten aber weitere Aufgaben mit ähnlichem Schwierigkeitsgrad folgen.

Unser Ziel lag hingegen darin, einen Vorschlag für einen Unterrichtsgang zu erarbeiten, der auf die Umsetzung von „größeren“ Softwareprojekten ausgerichtet ist, in denen alle wichtigen Konzepte der Objektorientierung (Assoziation, Aggregation, Vererbung, abstrakte Klassen und Methoden, Polymorphie) vorkommen. Im Projekt sollte außerdem eine große Anzahl von Objekten aus den Klassen erstellt werden, um den Unterschied zwischen Klasse und Objekt möglich deutlich werden zu lassen. Um die gesamte Unterrichtsdauer nicht ausufern zu lassen, steigt der Schwierigkeitsgrad nach einer Einführungsphase schnell an.

Wir haben uns entschieden, den Unterrichtsgang in zwei Stufen zu gliedern. In der ersten Stufe erarbeiten sich die Schüler die Konzepte der objektorientierten Programmierung anhand des Projektes „dynamische Geometriesoftware“ mit Hilfe eines ausführlichen Leitprogramms weitgehend selbst. Nur an konzeptionell sehr schwierigen Stellen wird das Leitprogramm durch weitere Präsentationen oder Übungen ergänzt.

Daran anschließend sollen die Schüler in einer zweiten Stufe lernen, wie sie selbst einen geeigneten Klassenentwurf finden und diesen an einem weiteren Projekt umsetzen. Dafür stehen verschiedene Projekte (die Würfelspiele Barbudi und Craps, das Kartenspiel BlackJack oder eine Erweiterung des Geometrieprojekts in 3-dimensionale Darstellung) bereit.

Der Zeitaufwand für die vollständige Umsetzung des Unterrichtsgangs ist recht hoch. Es ist daher je nach zur Verfügung stehender Zeit und Niveau des Kurses durchaus denkbar, nur die 1. Stufe im Unterricht umzusetzen.

 

 

Unterrichtsgang: Herunterladen [odt][60 KB]

 

Weiter zu Einstieg