Lehr- Lernprozesse im Informatik-Anfangsunterricht
Lehr- Lernprozesse im Informatik-Anfangsunterricht
Lehr- Lernprozesse im Informatik-Anfangsunterricht
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Fachdidaktische Ausgestaltung des Unterrichtskonzepts<br />
ses eingesetzt (vgl. Jacobson, Booch und Rumbaugh 1999). Die grafische Notation erlaubt die<br />
Betrachtung des objektorientierten Systems auf einer abstrakteren Ebene als dies in einer Programmiersprache<br />
möglich wäre. Die UML ist eine grafische Sprache: „not only to<br />
communicate with others but to provide a setting in which individual developers can think<br />
and analyze. [...] Basically, the UML enables the developers to visualize their work products<br />
in standardized blueprints or diagrams“ (Jacobson, Booch und Rumbaugh, 1999, S. 421). Visualisierung,<br />
so die hier <strong>im</strong>plizite Annahme, ist verständnisfördernd und hilft deshalb<br />
Entwürfe zu kommunizieren – auch mit eher fachfremden Personen bzw. Anfängern. Dabei<br />
reduziert Visualisierung die Fülle von Details und erlaubt einen schnelleren 'Überblick'.<br />
Im Unterricht könnte die Visualisierung der UML ebenso die Kommunikation von Designideen,<br />
aber etwa auch die Darstellung des Programms zur Laufzeit ermöglichen. Code generierende<br />
Werkzeuge, die auf der UML aufbauen, können die Transformation der CRC-Karten<br />
in die Implementation unterstützen.<br />
CRC-Karte UML-Klassendiagramm<br />
Name Klassenname<br />
Verantwortlichkeiten, Responsibilities:<br />
'Wissen' und<br />
'Können'<br />
Attribute<br />
Methoden<br />
Beteiligte, Collaborators Assoziation<br />
Tabelle 13 Übergang vom CRC-Modell zum Klassendiagramm: In der linken Seite die Angaben auf einer CRC-<br />
Karte, auf der rechten Seite die Angaben <strong>im</strong> Klassendiagramm.<br />
Die beiden Notationen CRC und UML helfen, die Entwicklungsphasen zu unterscheiden:<br />
CRC-Karten werden mit der Analysephase identifiziert, UML-Klassendiagramme mit der Designphase.<br />
Anhand der Klassendiagramme soll dann die Modellierung, zumindest zum Zwecke ihrer<br />
Überprüfung <strong>im</strong>plementiert werden können. Welche Inhalte dazu nötig sind, hängt auch davon<br />
ab, welche fachlichen Aspekte zum Verstehen einer Implementation notwendig<br />
erscheinen. Diese Aspekte sollen nun geprüft werden. Dabei soll die Implementierung durch<br />
die Verwendung eines Codegenerators teilweise automatisiert werden, sodass die Implementation<br />
für die Schülerinnen und Schüler direkt als eine Formalisierung der Modellierung<br />
verstehbar wird.<br />
Broy und Siedersleben machen in diesem Zusammenhang auf folgendes Problem aufmerksam:<br />
„Leider ist es außerordentlich schwierig, das beobachtbare Verhalten von Klassen und Objekten<br />
zu beschreiben. Der Grund dafür sind die komplexen Interaktionen von Objekten über Methodenaufrufe,<br />
die nichts anderes sind als normale Funktionsaufrufe, ergänzt um den Mechanismus der<br />
späten Bindung. [..] Daher müssen Methodenaufrufe in objektorientierten Programmen als in einem<br />
riesigen Zustandsraum – dem globalen Programmzustand – operierend angesehen werden.“<br />
(Broy und Siedersleben 2002, S. 5)<br />
Das Problem wird verschärft durch den Zugriff auf Objekte mittels Referenzen und mögliche<br />
Seiteneffekte, wenn ein Objekt mehrfach referenziert wird (Broy und Siedersleben 2002, S.<br />
6). Hinzu kommt die <strong>im</strong>mer wieder anzutreffende Vermischung von Implementations- und<br />
Ausführungsebene, beispielsweise auch <strong>im</strong> obigen Zitat („das beobachtbare Verhalten von<br />
Klassen und Objekten“), die ein Verständnis für die Funktionsweise eines objektorientierten<br />
Programms erschwert. Das didaktische Problem für den <strong>Anfangsunterricht</strong> besteht darin, dass<br />
der Einblick in das Laufzeitverhalten objektorientierter Software durch Programmieren und<br />
50