02.12.2012 Aufrufe

Lehr- Lernprozesse im Informatik-Anfangsunterricht

Lehr- Lernprozesse im Informatik-Anfangsunterricht

Lehr- Lernprozesse im Informatik-Anfangsunterricht

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!