Life^3/Didaktisches Konzept: Unterschied zwischen den Versionen

Aus Unterrichtsmaterial
Wechseln zu:Navigation, Suche
K
(Ergänzung - Das life³-Phasenmodell)
Zeile 1: Zeile 1:
== '''Überblick Didaktisches Konzept''' ==
+
=='''Überblick Didaktisches Konzept'''==
 
Im Bereich Didaktik finden Sie Informationen zum didaktischen Hintergrund, zum Beispiel erklären wir hier das life³-Phasenmodell und den Ansatz der systemorientierten Didaktik.
 
Im Bereich Didaktik finden Sie Informationen zum didaktischen Hintergrund, zum Beispiel erklären wir hier das life³-Phasenmodell und den Ansatz der systemorientierten Didaktik.
  
Zeile 8: Zeile 8:
 
Hier in dieser Rubrik hingegen finden Sie - wie oben bereits angedeutet - abstraktere Darlegungen zu Aufbau und Konzeption des life³-Phasenmodells. Vielleicht kann dies dazu dienen, unser Vorgehen zu erhellen. Vielleicht werden Sie zu eigenen Ideen angeregt, oder Sie finden Verbesserungsmöglichkeiten, oder Ihnen kommen konkrete Ideen für eigene Unterrichtseinheiten orientiert am life³-Phasenmodell.
 
Hier in dieser Rubrik hingegen finden Sie - wie oben bereits angedeutet - abstraktere Darlegungen zu Aufbau und Konzeption des life³-Phasenmodells. Vielleicht kann dies dazu dienen, unser Vorgehen zu erhellen. Vielleicht werden Sie zu eigenen Ideen angeregt, oder Sie finden Verbesserungsmöglichkeiten, oder Ihnen kommen konkrete Ideen für eigene Unterrichtseinheiten orientiert am life³-Phasenmodell.
  
=== '''Das life³-Phasenmodell''' ===
+
==='''Das life³-Phasenmodell'''===
Lorem Ipsum...
+
 
 +
==== Phasenmodell für den Einstieg in grundlegende Konzepte und Sichtweisen der Objektorientierung. ====
 +
Objektorientierung ist ein spannendes und aktuelles Themengebiet sowohl in der Informatik, speziell der Softwaretechnik, als auch im Informatikunterricht.
 +
 
 +
Insbesondere das objektorientierte Modellieren als der planende und gestaltende Teil der Softwareentwicklung kann in vielfältiger Weise zur informatischen Bildung beitragen:
 +
 
 +
* Notationen und Techniken zum Strukturieren von Informationen kennen lernen
 +
* Grundkenntnisse über Struktur und Funktionsweise objektorientierter Software erwerben
 +
* Einblick in den Erstellungsprozess von Software bekommen
 +
* Softwareentwicklung als einen ingenieursmäßigen, technischen Konstruktionsprozess aber auch als einen kreativen Gestaltungsprozess kennen lernen
 +
* Problemlösetechniken und die Arbeit im Team üben
 +
* ...
 +
 
 +
Um diese Ziele im Unterricht zu erreichen, ist ein Verständnis der Grundkonzepte der Objektorientierung eine wesentliche Vorbedingung. Leider sind diese Grundkonzepte erstens sehr zahlreich, zweitens stark miteinander verwoben und drittens oft erst verständlich, wenn man komplexere objektorientierte Programme untersucht oder entwickelt.
 +
 
 +
Das Phasenmodell verhindert, dass die Schülerinnen und Schüler aufgrund der Komplexität und Vielzahl der objektorientierten Technologien sozusagen "den Wald vor lauter Bäumen nicht mehr erkennen können". Anstelle einzelner, ausgewählter Konzepte stellt es die Grundidee der Objektorientierung in den Mittelpunkt des Unterrichts: Objektstrukturen und deren Interaktion. Damit wird eine auf Zusammenhänge ausgerichtete Perspektive auf die Thematik eingenommen, aus der heraus im Unterricht die notwendigen Konzepte, Notationen, Werkzeuge und Techniken erschlossen werden können.
 +
 
 +
Der Unterricht orientiert am life³-Phasenmodell wird in drei aufeinander aufbauende Phasen eingeteilt. Jede Phase legt die Grundlagen für die nächste. Die Phasierung erleichtert die Unterrichtsplanung und das Erlernen, da jeweils nur einige ausgewählte Aspekte im Mittelpunkt stehen. In der jeweils folgenden Phase werden diese Elemente für den weiteren Fortschritt genutzt und vertieft.
 +
 
 +
'''AN DIESER STELLE FEHLT EIN BILD...'''
 +
 
 +
In der ersten Phase werden die Leitideen, die Notationen und die Benutzung der Werkzeuge vermittelt. Es wird ein kleines objektorientiertes Modell untersucht und verändert. Im Mittelpunkt stehen die beiden Leitideen: Objektstrukturen und Kollaborative Methoden.
 +
 
 +
In der zweiten Phase wird das Gelernte gefestigt. Es wird gezeigt, wie auf das objektorientierte Modell eine grafische Oberfläche aufgesetzt wird, und wie mittels Ereignisbehandlung mit dem Modell interagiert werden kann. In dieser Phase gibt es verstärkt Übungen zu einzelnen Konzepten.
 +
 
 +
Die dritte Phase regt die Schüler zur eigenständigen Anwendung und Vertiefung des Erlernten an. Dabei sollen Lernziele auf den Ebenen Bewertung und Reflexion einbezogen werden.
 +
 
 +
Insgesamt orientiert sich das life³-Phasenmodell am Modell des Cognitive Apprenticeship, dessen Lernwirksamkeit empirisch gut abgesichert ist.
 +
<br />
 +
 
 +
==== Phase 1 ====
 +
Grundbegriffe und Grundstrukturen
 +
{| class="wikitable"
 +
|+
 +
!
 +
!Schritt A
 +
 
 +
Anwendungsgebiet erkunden
 +
!Schritt B
 +
 
 +
Informales Modell erkunden
 +
!Schritt C
 +
 
 +
Formales Modell erkunden
 +
 
 +
(Klassenebene)
 +
!Schritt D
 +
 
 +
Formales Modell erkunden
 +
 
 +
(Methodenebene)
 +
|-
 +
|Ziele
 +
|Vertraut werden bzw. ins Gedächtnis rufen der Abläufe und Strukturen der Anwendungsdomäne
 +
|Vertraut werden mit objektorientierter Sichtweise der Anwendungsdomäne; Objektstrukturen und Collaborative Methoden kennen lernen
 +
|Vertraut werden mit formaler Notation und der Funktionsweise einer OO-Anwendung und der IDE
 +
|Vertraut werden mit formaler Notation von Aktivitätsdiagrammen, kennen lernen von Kontrollstrukturen
 +
|-
 +
|Medien
 +
|Je nach Domäne, z.B.: Spielmaterial
 +
|CRC- und Objektkarten
 +
|Anwendung, Entwicklungsumgebung mit Debugger, visuell orientiert
 +
|Anwendung, Entwicklungsumgebung mit Debugger, visuell orientiert
 +
|-
 +
|Konzepte
 +
|Entsprechend der Anwendungsdomäne, z.B.:Spieler, Spielzeug, Begriffe für die einzelnen Materialien
 +
|Klasse, Objekt, Verantwortlichkeit, Beziehung, Zustand, Objektspiel, Anwendungsfall
 +
|Klasse, Objekt, Beziehung, Kardinalität, Übersetzen, Methodenaufruf, Parameter, UML
 +
|Story-Diagramme, Bedingte Anweisungen, Schleifen, Parameter
 +
|}
 +
Dauer: 10 Unterrichtsstunden
 +
 
 +
'''Lernziele:''' Heranführung der Schüler an eine objektorientierte Sichtweise, die Einführung der Begriffe Klasse, Objekt, Assoziation, Methode, Attribut sowie Interaktionen von Objekten. Desweiteren Metaphern der Objektorientierung als Verständnishilfe für die Grundideen der Objektorientierung, UML-, Klassen- und Objektdiagramme, Benutzen der Werkzeuge Fujaba und des darin integrierten grafischen Debuggers Dobs sowie CRC-Karten und Objektspiel als Analyse- bzw. Modellierungstechniken.
 +
 
 +
'''Werkzeuge:''' CRC-Karten, Objektspiel, Fujaba und das darin integrierte Dobs (mit Lehreranleitung)
 +
 
 +
'''Ablauf:''' In ''Schritt A'' sollen sich die Schülerinnen und Schüler mit der Anwendungsdomäne vertraut machen. Werden als Anwendungsdomäne wie in den aufgezeigten Beispielen Spiele gewählt, so können in diesem Schritt die Schülerinnen und Schüler diese praktisch durchführen und sich mit den Spielregeln befassen. Dadurch kann sich in den folgenden Schritten und Phasen die Konzentration auf die objektorientierten Konzepte richten, die an dieser Stelle aber noch keine Rolle spielen sollen. Ein bis zwei Unterrichtsstunden sollten daher für diesen ersten Schritt ausreichend sein.
 +
 
 +
In ''Schritt B'' wird erstmals eine objektorientierte Sichtweise eingeführt. Mit Hilfe von CRC-Karten als Notationstechnik für Objektorientierte Analyse wird ein Modell für ein Beispiel aus der jeweiligen Anwendungsdomäne (z.B. ein Spiel) erstellt. Die Schülerinnen und Schüler erlernen das Objektspiel: Hierbei sollen sie selbst Objekte spielen, d.h. deren Rolle übernehmen. Sie erhalten CRC-Karten aus dem Modell und dürfen beim Spiel nur die Eigenschaften der Objekte benutzen. Das Objektspiel soll dazu dienen, ein Verständnis für objektorientierte Sichtweisen auszubilden. Die Beispiele sollten dabei so gewählt sein, dass es CRC-Karten (Klassen) gibt, aus denen mehrere Objekte gebildet werden, die sich durch ihre Zustände, die auf Objektkarten festgehalten werden, unterscheiden. Dies soll dazu beitragen, den Unterschied zwischen Klassen und Objekten zu verstehen. Für weitere Informationen siehe: Objektspiel.
 +
 
 +
In ''Schritt C'' wird eine fertige Implementation (zunächst auf Klassenebene) des zuvor selbst erstellen CRC-Modells mit Hilfe einer IDE am Rechner untersucht. An dieser Stelle erlernen die Schülerinnen und Schüler die formale Notation eines Modells mit Hilfe einer graphischen oder auch textuellen Programmiersprache und den Umgang mit der Entwicklungsumgebung, die im weiteren Verlauf der Unterrichtseinheit eingesetzt werden soll. Wird wie im dargestellten Beispiel eine grafische Notation verwendet, so sollte sich diese an UML orientieren. In diesem Fall müssten in dieser Phase auch bereits UML-spezifische Begriffe wie Kardinalität und Assoziationen erläutert werden. Eventuell aufkommende Begriffe wie Datentypen, Parameter und Kontrollstrukturen werden - soweit nötig - ebenfalls erläutert.
 +
 
 +
In ''Schritt D'' schließlich rückt die Implementation der Methoden in den Mittelpunkt. Die realisierten Methoden des bereits implementierten Beispiels sollten an dieser Stelle zunächst analysiert werden. Übungsaufgaben können helfen, die Syntax der Programmiersprache bzw. die grafische Notation der Aktivitätsdiagramme zu erlernen und praktische Erfahrung bei der Implementation von Methoden zu erlangen.
 +
 
 +
==== Phase 2 ====
 +
{| class="wikitable"
 +
|+
 +
!
 +
!Schritt A
 +
 
 +
Schritte aus Phase 1 selbst durchführen,
 +
 
 +
in richtiger Reihenfolge
 +
!Schritt B
 +
 
 +
Grafische Oberflächen kennenlernen
 +
!Schritt C
 +
 
 +
Ereignisbehandlung kennenlernen
 +
|-
 +
|Ziele
 +
|vertraut werden mit Modellierungs- und Softwareentwicklungsprozess, Vertiefen der Kenntnisse und Begriffe, Übertragen auf ein neues Beispiel
 +
|Bibliotheknutzung und Konzept der GUI-Bibliothek verstehen
 +
|Verknüpfung von Modell und grafischer Oberfläche (View), Konzept der Ereignisbehandlung verstehen
 +
|-
 +
|Medien
 +
|CRC-IDE, Bibliothek, Beispiel-Anwendung
 +
|
 +
|IDE, Beispiel-Anwendung
 +
|-
 +
|Konzepte
 +
|Analyse, Design, Test, Fehlersuche, Syntax und Semantik, Schleifen, lokale Variable, Verzweigung, primitive Datentypen
 +
|Bibliothek, bidirektionale/unidirektionale Beziehungen, Bibliotheksklassen
 +
|
 +
 
 +
 
 +
Ereignisse, Vererbung, Schnittstellen (Interface), Model-View-(Control)-Konzept MV(C)
 +
|}
 +
 
 +
 
 +
Schritt C
 +
 
 +
Ziele
 +
 
 +
 
 +
'''Dauer:''' ca. 30 Unterrichtsstunden
 +
 
 +
'''Lernziele:''' Verdeutlichung der Rolle und des zeitlichen Ablaufs verschiedener Schritte der Softwareentwicklung, Ereignisbehandlung und Benutzeroberflächen, Algorithmen, Bedeutung und Benutzung von Klassenbibliotheken, Vererbung und Interfaces, Umgang mit Fehlern
 +
 
 +
'''Werkzeuge:''' Fujaba, Dobs, CRC-Karten, Objektspiel (mit Hilfen des Lehrers)
 +
 
 +
'''Ablauf:''' Die Schülerinnen und Schüler sollen in dieser zweiten Phase analog zu den Erkundungsschritten der ersten Phase entscheidende Schritte der Softwareentwicklung unter Anleitung der Lehrperson an einem neuen Beispiel weitgehend selbständig durchführen. Das Kennenlernen Grafischer Oberflächen, ihrer Elemente und Strukturen und damit verbunden das Benutzen einer Klassenbibliothek schließt sich in einem weiteren Schritt an. Um Oberfläche und implementiertes Modell sinnvoll miteinander zu verknüpfen, steht im dritten Schritt dieser Phase das Konzept der Ereignisbehandlung im Mittelpunkt.
 +
 
 +
<u>Die Schritte dieser Phase im Einzelnen:</u>
 +
 
 +
In ''Schritt A'' sollen - wie bereits angedeutet - die Schülerinnen und Schüler analog zu den Erkundungsschritten der ersten Phase die entscheidenden Softwareentwicklungsschritte bis zur Erstellung eines lauffähigen Modells weitgehend selbständig in Gruppen durchführen. Das beinhaltet wie in der ersten Phase das Erkunden der Anwendungsdomäne, die Erstellung eines informalen Modells mittels CRC-Karten (also eine objektorientierte Analyse), dessen Weiterentwicklung zu einem formalen Modell in UML-Notation (objektorientierter Entwurf bzw. Designschritt) und schließlich die Implementierung der Methoden. Beginnen wird also dieser erste Schritt mit der Einführung eines neuen Beispiels als Anwendungsdomäne. (Im Falle unseres Projekts war dies ein weiteres Spiel: Schatzsuche.) Indem die Schülerinnen und Schüler versuchen, einen Softwareentwicklungsprozess durchzuführen, werden sie einerseits vertrauter mit dem Modellierungs- und Softwareentwicklungsprozess, vertiefen die in Phase 1 erlernten Begriffe, Sichtweisen und Kenntnisse und erwerben andererseits praktische Fähigkeiten im Hinblick auf die CRC-Kartentechnik als Mittel zur Analyse sowie die Benutzung einer IDE als Design- und Implementierungswerkzeug.
 +
 
 +
Die Anleitung durch die Lehrperson wird hier insbesondere auch darin zu sehen sein, dass sie im Falle von Problemen und Verständnisschwierigkeiten diese für den ganzen Kurs thematisiert, abgeschlossene Softwareentwicklungsschritte reflektieren lässt, und in notwendige neue Begrifflichkeit (z.B. Schleifen, lokale Variablen, Verzweigung, Datentypen, usw.) geeignet einführt. Ein wichtiger Punkt hierbei ist das Thematisieren der Fehlersuche und das Erarbeiten bzw. das Nahelegen von systematischen Vorgehensweisen bei der Fehlerbeseitigung. In regelmäßigen Abständen sollten jeweils eine oder zwei Gruppen dem gesamten Kurs ihre Arbeit und ihr Vorgehen vorstellen und mit den anderen diskutieren.
 +
 
 +
Sobald die Modelle in den Gruppen weitgehend implementiert sind, führt die Lehrperson in das Thema 'Grafische Oberflächen' ein und beginnt damit ''Schritt B'' dieser Phase. Die Einführung könnte beispielsweise darin bestehen, dass eine einfache Anwendung (z.B. Ampelschaltung) vorgestellt und von den Schülern erkundet wird. Sie werden dabei auf die Benutzung einer grafischen Bibliothek stoßen, welche Elemente bereitstellt, aus denen die grafische Oberfläche der Anwendung aufgebaut ist. (Im Projekt haben wir uns der eigens dafür konzipierten vereinfachten grafischen Bibliothek FGrafik bedient.) Mit den Schülerinnen und Schülern sollte nun der Aufbau dieser Bibliothek studiert werden und an einfachen Beispielen deren Verwendung eingeübt werden. Zu thematisieren ist dabei insbesondere das Konzept Klassenbibliothek an sich als Bereitstellung fertiger Klassen, deren Funktionalität man sich für eigene Anwendungen bedienen kann. Außerdem wird man an dieser Stelle spätestens nicht mehr umhin kommen, das objektorientierte Vererbungskonzept einzuführen, da sich nahezu jede Bibliothek dieses Prinzips mehr oder minder in ihrer Struktur und auch in ihrer Benutzung bedient. (Das Vererbungskonzept umfasst hierbei im Übrigen das Schnittstellenkonzept.) Als Abschluss dieses Schrittes und um die Erstellung einer Benutzungsoberfläche in den Softwareentwicklungsprozess einzubetten, sollen die Schülerinnen und Schüler schließlich für ihr im ersten Schritt erstelltes Modell eine Oberfläche entwerfen und implementieren.
 +
 
 +
In ''Schritt C'' steht anschließend die Frage im Mittelpunkt, wie sich Modell und Oberfläche nun zu einer bedienbaren Software verknüpfen lassen: Das Konzept der Ereignisbehandlung muss thematisiert werden. Auch hier bietet sich eine einfache Beispielanwendung (z.B. die bereits erwähnte Ampelschaltung) als Anschauungs- und Übungsbeispiel an. Wichtig ist in diesem Zusammenhang, dass die Schülerinnen und Schülern ein Verständnis für Sinn und die unterschiedlichen Rollen von Ereignisempfängern, Ereignisquellen und den Ereignissen selbst erlangen. Nähere Beschreibungen für die Einführung in Ereignisse und zum Integrieren der Ereignisbehandlung in eigene Anwendungen befinden sich in der Kategorie Unterrichtsmethoden.
 +
<br />
 +
 
 +
==== Phase 3 ====
 +
{| class="wikitable"
 +
|+
 +
!
 +
!Projekt in Gruppenarbeit
 +
 
 +
Vollständigen Softwareentwicklungsprozess möglichst eigenständig durchführen, Kooperation und Wettbewerb zwischen den Gruppen
 +
|-
 +
|Ziele
 +
|Vertiefung und Anwendung des in Phase 1 und Phase 2 Erlernten; Reflexion von Vorgehensweise und eigenen Design-Ideen
 +
|-
 +
|Medien
 +
|CRC-Karten, IDE, Bibliothek
 +
|-
 +
|Konzepte
 +
|Objektorientierte Analyse, objektorientiertes Design, Beurteilungskriterien (Verständlichkeit, Einfachheit, Korrektheit, "Erweiterbarkeit", "Aufgabenangemessenheit"), Anwendungsfälle aus Entwickler- und Nutzersicht
 +
|}
 +
 
 +
 
 +
'''Dauer:''' ca 20 Unterrichtsstunden
 +
 
 +
'''Lernziele:''' Erlernen von Zusammenhängen einzelner Schritte objektorientierter Softwareentwicklung, Kommunikationsfähigkeit, Evaluation von Software und Gestaltungsmöglichkeiten
 +
 
 +
'''Werkzeuge:''' Fujaba, Dobs, CRC-Karten, Objektspiel (jetzt ohne Lehreranleitung)
 +
 
 +
'''Ablauf:''' Die Lehreperson hat ähnlich zum Beginn der Phase 2 eine neue Anwendungsdomäne vorbereitet und tritt nun in dieser Phase in der Rolle eines Auftraggebers auf, der von den Schülerinnen und Schülern bzw. von den einzelnen Gruppen die Erstellung einer Softwareanwendung für diese Anwendungsdomäne verlangt. Sie sollen also in dieser Phase projektartig in Gruppen und dabei so eigenständig wie möglich die Phasen eines Softwareentwicklungsprozess durchlaufen. Die Anwendungsdomäne bzw. das Anwendungsbeispiel sollte dabei von der Lehrperson so gewählt sein, dass es sich strukturell und in seiner Komplexität von den Schülerinnen und Schülern bewältigen lässt (in Phase 3 des life³-Projektunterrichts war dies das Spiel Memory). Dabei können ihnen dann natürlich die Kenntnisse und Unterlagen der beiden vorangegangenen Phasen von Nutzen sein. Neben der Rolle als Auftraggeber, der sich ständig über den Projektstand einer jeden Gruppe erkundigt, kommt der Lehrperson in dieser Phase mehr noch als in Phase 2 die Rolle einer Beraters zu. Er gibt u.a. Hinweise zu Abstimmung und Arbeitsteilung in den Gruppen, steht bei Problemen als Ansprechpartner zur Verfügung.
 +
 
 +
Wichtig ist auch in dieser Phase, dass einzelne Gruppen in regelmäßigen Abständen ihren Projektstand und ihr Vorgehen dem ganzen Kurs vorstellen und ihre Realisierungen im Plenum diskutiert werden. Dabei erhalten andere Gruppen Anregungen, können eigenen Erfahrungen einfließen lassen und (Modellierungs-)Fehler wie auch sonstige Sackgassensituationen vermeiden. Bei all dem sollte die Lehrperson wie schon in den beiden vorangegangenen Phasen auf begrifflich präzise Artikulation und Argumentation seitens der Schülerinnen und Schüler achten und diese auch einfordern.
 +
 
 +
Die Phase endet mit einer abschließenden Projektpräsentation durch die einzelnen Gruppen und einer Reflexion über das Vorgehen, die Bedeutung wichtiger Konzepte wie z.B. der Ereignisbehandlung, usw.
  
=== '''Systemorientierte Didaktik''' ===
+
==='''Systemorientierte Didaktik'''===
 
Lorem Ipsum...
 
Lorem Ipsum...
  
=== '''Lerntheoretischer Hintergrund''' ===
+
==='''Lerntheoretischer Hintergrund'''===
 
Lorem Ipsum...
 
Lorem Ipsum...

Version vom 2. November 2021, 15:23 Uhr

Überblick Didaktisches Konzept

Im Bereich Didaktik finden Sie Informationen zum didaktischen Hintergrund, zum Beispiel erklären wir hier das life³-Phasenmodell und den Ansatz der systemorientierten Didaktik.

Das didaktische Konzept des life³-Projekts lehnt sich an den in Paderborn vertretenen Ansatz der Systemorientierten Didaktik der Informatik an. Informationen hierzu finden Sie im Bereich Systemorientierte Didaktik.

Mit dem life³-Phasenmodell wird der mögliche Aufbau einer Unterrichtssequenz zum Einstieg in die Objektorientierung in der Jahrgangsstufe 11/1 beschrieben. Das Phasenmodell wurde an zwei Paderborner Schulen erprobt und unter Einsatz von Befragungen, Tests und videogestützter Unterrichtsbeobachtung evaluiert. Einzelheiten hierzu und zur konkreten Umsetzung des Phasenmodells werden in der Rubrik Unterrichtseinheiten beschrieben.

Hier in dieser Rubrik hingegen finden Sie - wie oben bereits angedeutet - abstraktere Darlegungen zu Aufbau und Konzeption des life³-Phasenmodells. Vielleicht kann dies dazu dienen, unser Vorgehen zu erhellen. Vielleicht werden Sie zu eigenen Ideen angeregt, oder Sie finden Verbesserungsmöglichkeiten, oder Ihnen kommen konkrete Ideen für eigene Unterrichtseinheiten orientiert am life³-Phasenmodell.

Das life³-Phasenmodell

Phasenmodell für den Einstieg in grundlegende Konzepte und Sichtweisen der Objektorientierung.

Objektorientierung ist ein spannendes und aktuelles Themengebiet sowohl in der Informatik, speziell der Softwaretechnik, als auch im Informatikunterricht.

Insbesondere das objektorientierte Modellieren als der planende und gestaltende Teil der Softwareentwicklung kann in vielfältiger Weise zur informatischen Bildung beitragen:

  • Notationen und Techniken zum Strukturieren von Informationen kennen lernen
  • Grundkenntnisse über Struktur und Funktionsweise objektorientierter Software erwerben
  • Einblick in den Erstellungsprozess von Software bekommen
  • Softwareentwicklung als einen ingenieursmäßigen, technischen Konstruktionsprozess aber auch als einen kreativen Gestaltungsprozess kennen lernen
  • Problemlösetechniken und die Arbeit im Team üben
  • ...

Um diese Ziele im Unterricht zu erreichen, ist ein Verständnis der Grundkonzepte der Objektorientierung eine wesentliche Vorbedingung. Leider sind diese Grundkonzepte erstens sehr zahlreich, zweitens stark miteinander verwoben und drittens oft erst verständlich, wenn man komplexere objektorientierte Programme untersucht oder entwickelt.

Das Phasenmodell verhindert, dass die Schülerinnen und Schüler aufgrund der Komplexität und Vielzahl der objektorientierten Technologien sozusagen "den Wald vor lauter Bäumen nicht mehr erkennen können". Anstelle einzelner, ausgewählter Konzepte stellt es die Grundidee der Objektorientierung in den Mittelpunkt des Unterrichts: Objektstrukturen und deren Interaktion. Damit wird eine auf Zusammenhänge ausgerichtete Perspektive auf die Thematik eingenommen, aus der heraus im Unterricht die notwendigen Konzepte, Notationen, Werkzeuge und Techniken erschlossen werden können.

Der Unterricht orientiert am life³-Phasenmodell wird in drei aufeinander aufbauende Phasen eingeteilt. Jede Phase legt die Grundlagen für die nächste. Die Phasierung erleichtert die Unterrichtsplanung und das Erlernen, da jeweils nur einige ausgewählte Aspekte im Mittelpunkt stehen. In der jeweils folgenden Phase werden diese Elemente für den weiteren Fortschritt genutzt und vertieft.

AN DIESER STELLE FEHLT EIN BILD...

In der ersten Phase werden die Leitideen, die Notationen und die Benutzung der Werkzeuge vermittelt. Es wird ein kleines objektorientiertes Modell untersucht und verändert. Im Mittelpunkt stehen die beiden Leitideen: Objektstrukturen und Kollaborative Methoden.

In der zweiten Phase wird das Gelernte gefestigt. Es wird gezeigt, wie auf das objektorientierte Modell eine grafische Oberfläche aufgesetzt wird, und wie mittels Ereignisbehandlung mit dem Modell interagiert werden kann. In dieser Phase gibt es verstärkt Übungen zu einzelnen Konzepten.

Die dritte Phase regt die Schüler zur eigenständigen Anwendung und Vertiefung des Erlernten an. Dabei sollen Lernziele auf den Ebenen Bewertung und Reflexion einbezogen werden.

Insgesamt orientiert sich das life³-Phasenmodell am Modell des Cognitive Apprenticeship, dessen Lernwirksamkeit empirisch gut abgesichert ist.

Phase 1

Grundbegriffe und Grundstrukturen

Schritt A

Anwendungsgebiet erkunden

Schritt B

Informales Modell erkunden

Schritt C

Formales Modell erkunden

(Klassenebene)

Schritt D

Formales Modell erkunden

(Methodenebene)

Ziele Vertraut werden bzw. ins Gedächtnis rufen der Abläufe und Strukturen der Anwendungsdomäne Vertraut werden mit objektorientierter Sichtweise der Anwendungsdomäne; Objektstrukturen und Collaborative Methoden kennen lernen Vertraut werden mit formaler Notation und der Funktionsweise einer OO-Anwendung und der IDE Vertraut werden mit formaler Notation von Aktivitätsdiagrammen, kennen lernen von Kontrollstrukturen
Medien Je nach Domäne, z.B.: Spielmaterial CRC- und Objektkarten Anwendung, Entwicklungsumgebung mit Debugger, visuell orientiert Anwendung, Entwicklungsumgebung mit Debugger, visuell orientiert
Konzepte Entsprechend der Anwendungsdomäne, z.B.:Spieler, Spielzeug, Begriffe für die einzelnen Materialien Klasse, Objekt, Verantwortlichkeit, Beziehung, Zustand, Objektspiel, Anwendungsfall Klasse, Objekt, Beziehung, Kardinalität, Übersetzen, Methodenaufruf, Parameter, UML Story-Diagramme, Bedingte Anweisungen, Schleifen, Parameter

Dauer: 10 Unterrichtsstunden

Lernziele: Heranführung der Schüler an eine objektorientierte Sichtweise, die Einführung der Begriffe Klasse, Objekt, Assoziation, Methode, Attribut sowie Interaktionen von Objekten. Desweiteren Metaphern der Objektorientierung als Verständnishilfe für die Grundideen der Objektorientierung, UML-, Klassen- und Objektdiagramme, Benutzen der Werkzeuge Fujaba und des darin integrierten grafischen Debuggers Dobs sowie CRC-Karten und Objektspiel als Analyse- bzw. Modellierungstechniken.

Werkzeuge: CRC-Karten, Objektspiel, Fujaba und das darin integrierte Dobs (mit Lehreranleitung)

Ablauf: In Schritt A sollen sich die Schülerinnen und Schüler mit der Anwendungsdomäne vertraut machen. Werden als Anwendungsdomäne wie in den aufgezeigten Beispielen Spiele gewählt, so können in diesem Schritt die Schülerinnen und Schüler diese praktisch durchführen und sich mit den Spielregeln befassen. Dadurch kann sich in den folgenden Schritten und Phasen die Konzentration auf die objektorientierten Konzepte richten, die an dieser Stelle aber noch keine Rolle spielen sollen. Ein bis zwei Unterrichtsstunden sollten daher für diesen ersten Schritt ausreichend sein.

In Schritt B wird erstmals eine objektorientierte Sichtweise eingeführt. Mit Hilfe von CRC-Karten als Notationstechnik für Objektorientierte Analyse wird ein Modell für ein Beispiel aus der jeweiligen Anwendungsdomäne (z.B. ein Spiel) erstellt. Die Schülerinnen und Schüler erlernen das Objektspiel: Hierbei sollen sie selbst Objekte spielen, d.h. deren Rolle übernehmen. Sie erhalten CRC-Karten aus dem Modell und dürfen beim Spiel nur die Eigenschaften der Objekte benutzen. Das Objektspiel soll dazu dienen, ein Verständnis für objektorientierte Sichtweisen auszubilden. Die Beispiele sollten dabei so gewählt sein, dass es CRC-Karten (Klassen) gibt, aus denen mehrere Objekte gebildet werden, die sich durch ihre Zustände, die auf Objektkarten festgehalten werden, unterscheiden. Dies soll dazu beitragen, den Unterschied zwischen Klassen und Objekten zu verstehen. Für weitere Informationen siehe: Objektspiel.

In Schritt C wird eine fertige Implementation (zunächst auf Klassenebene) des zuvor selbst erstellen CRC-Modells mit Hilfe einer IDE am Rechner untersucht. An dieser Stelle erlernen die Schülerinnen und Schüler die formale Notation eines Modells mit Hilfe einer graphischen oder auch textuellen Programmiersprache und den Umgang mit der Entwicklungsumgebung, die im weiteren Verlauf der Unterrichtseinheit eingesetzt werden soll. Wird wie im dargestellten Beispiel eine grafische Notation verwendet, so sollte sich diese an UML orientieren. In diesem Fall müssten in dieser Phase auch bereits UML-spezifische Begriffe wie Kardinalität und Assoziationen erläutert werden. Eventuell aufkommende Begriffe wie Datentypen, Parameter und Kontrollstrukturen werden - soweit nötig - ebenfalls erläutert.

In Schritt D schließlich rückt die Implementation der Methoden in den Mittelpunkt. Die realisierten Methoden des bereits implementierten Beispiels sollten an dieser Stelle zunächst analysiert werden. Übungsaufgaben können helfen, die Syntax der Programmiersprache bzw. die grafische Notation der Aktivitätsdiagramme zu erlernen und praktische Erfahrung bei der Implementation von Methoden zu erlangen.

Phase 2

Schritt A

Schritte aus Phase 1 selbst durchführen,

in richtiger Reihenfolge

Schritt B

Grafische Oberflächen kennenlernen

Schritt C

Ereignisbehandlung kennenlernen

Ziele vertraut werden mit Modellierungs- und Softwareentwicklungsprozess, Vertiefen der Kenntnisse und Begriffe, Übertragen auf ein neues Beispiel Bibliotheknutzung und Konzept der GUI-Bibliothek verstehen Verknüpfung von Modell und grafischer Oberfläche (View), Konzept der Ereignisbehandlung verstehen
Medien CRC-IDE, Bibliothek, Beispiel-Anwendung IDE, Beispiel-Anwendung
Konzepte Analyse, Design, Test, Fehlersuche, Syntax und Semantik, Schleifen, lokale Variable, Verzweigung, primitive Datentypen Bibliothek, bidirektionale/unidirektionale Beziehungen, Bibliotheksklassen


Ereignisse, Vererbung, Schnittstellen (Interface), Model-View-(Control)-Konzept MV(C)


Schritt C

Ziele


Dauer: ca. 30 Unterrichtsstunden

Lernziele: Verdeutlichung der Rolle und des zeitlichen Ablaufs verschiedener Schritte der Softwareentwicklung, Ereignisbehandlung und Benutzeroberflächen, Algorithmen, Bedeutung und Benutzung von Klassenbibliotheken, Vererbung und Interfaces, Umgang mit Fehlern

Werkzeuge: Fujaba, Dobs, CRC-Karten, Objektspiel (mit Hilfen des Lehrers)

Ablauf: Die Schülerinnen und Schüler sollen in dieser zweiten Phase analog zu den Erkundungsschritten der ersten Phase entscheidende Schritte der Softwareentwicklung unter Anleitung der Lehrperson an einem neuen Beispiel weitgehend selbständig durchführen. Das Kennenlernen Grafischer Oberflächen, ihrer Elemente und Strukturen und damit verbunden das Benutzen einer Klassenbibliothek schließt sich in einem weiteren Schritt an. Um Oberfläche und implementiertes Modell sinnvoll miteinander zu verknüpfen, steht im dritten Schritt dieser Phase das Konzept der Ereignisbehandlung im Mittelpunkt.

Die Schritte dieser Phase im Einzelnen:

In Schritt A sollen - wie bereits angedeutet - die Schülerinnen und Schüler analog zu den Erkundungsschritten der ersten Phase die entscheidenden Softwareentwicklungsschritte bis zur Erstellung eines lauffähigen Modells weitgehend selbständig in Gruppen durchführen. Das beinhaltet wie in der ersten Phase das Erkunden der Anwendungsdomäne, die Erstellung eines informalen Modells mittels CRC-Karten (also eine objektorientierte Analyse), dessen Weiterentwicklung zu einem formalen Modell in UML-Notation (objektorientierter Entwurf bzw. Designschritt) und schließlich die Implementierung der Methoden. Beginnen wird also dieser erste Schritt mit der Einführung eines neuen Beispiels als Anwendungsdomäne. (Im Falle unseres Projekts war dies ein weiteres Spiel: Schatzsuche.) Indem die Schülerinnen und Schüler versuchen, einen Softwareentwicklungsprozess durchzuführen, werden sie einerseits vertrauter mit dem Modellierungs- und Softwareentwicklungsprozess, vertiefen die in Phase 1 erlernten Begriffe, Sichtweisen und Kenntnisse und erwerben andererseits praktische Fähigkeiten im Hinblick auf die CRC-Kartentechnik als Mittel zur Analyse sowie die Benutzung einer IDE als Design- und Implementierungswerkzeug.

Die Anleitung durch die Lehrperson wird hier insbesondere auch darin zu sehen sein, dass sie im Falle von Problemen und Verständnisschwierigkeiten diese für den ganzen Kurs thematisiert, abgeschlossene Softwareentwicklungsschritte reflektieren lässt, und in notwendige neue Begrifflichkeit (z.B. Schleifen, lokale Variablen, Verzweigung, Datentypen, usw.) geeignet einführt. Ein wichtiger Punkt hierbei ist das Thematisieren der Fehlersuche und das Erarbeiten bzw. das Nahelegen von systematischen Vorgehensweisen bei der Fehlerbeseitigung. In regelmäßigen Abständen sollten jeweils eine oder zwei Gruppen dem gesamten Kurs ihre Arbeit und ihr Vorgehen vorstellen und mit den anderen diskutieren.

Sobald die Modelle in den Gruppen weitgehend implementiert sind, führt die Lehrperson in das Thema 'Grafische Oberflächen' ein und beginnt damit Schritt B dieser Phase. Die Einführung könnte beispielsweise darin bestehen, dass eine einfache Anwendung (z.B. Ampelschaltung) vorgestellt und von den Schülern erkundet wird. Sie werden dabei auf die Benutzung einer grafischen Bibliothek stoßen, welche Elemente bereitstellt, aus denen die grafische Oberfläche der Anwendung aufgebaut ist. (Im Projekt haben wir uns der eigens dafür konzipierten vereinfachten grafischen Bibliothek FGrafik bedient.) Mit den Schülerinnen und Schülern sollte nun der Aufbau dieser Bibliothek studiert werden und an einfachen Beispielen deren Verwendung eingeübt werden. Zu thematisieren ist dabei insbesondere das Konzept Klassenbibliothek an sich als Bereitstellung fertiger Klassen, deren Funktionalität man sich für eigene Anwendungen bedienen kann. Außerdem wird man an dieser Stelle spätestens nicht mehr umhin kommen, das objektorientierte Vererbungskonzept einzuführen, da sich nahezu jede Bibliothek dieses Prinzips mehr oder minder in ihrer Struktur und auch in ihrer Benutzung bedient. (Das Vererbungskonzept umfasst hierbei im Übrigen das Schnittstellenkonzept.) Als Abschluss dieses Schrittes und um die Erstellung einer Benutzungsoberfläche in den Softwareentwicklungsprozess einzubetten, sollen die Schülerinnen und Schüler schließlich für ihr im ersten Schritt erstelltes Modell eine Oberfläche entwerfen und implementieren.

In Schritt C steht anschließend die Frage im Mittelpunkt, wie sich Modell und Oberfläche nun zu einer bedienbaren Software verknüpfen lassen: Das Konzept der Ereignisbehandlung muss thematisiert werden. Auch hier bietet sich eine einfache Beispielanwendung (z.B. die bereits erwähnte Ampelschaltung) als Anschauungs- und Übungsbeispiel an. Wichtig ist in diesem Zusammenhang, dass die Schülerinnen und Schülern ein Verständnis für Sinn und die unterschiedlichen Rollen von Ereignisempfängern, Ereignisquellen und den Ereignissen selbst erlangen. Nähere Beschreibungen für die Einführung in Ereignisse und zum Integrieren der Ereignisbehandlung in eigene Anwendungen befinden sich in der Kategorie Unterrichtsmethoden.

Phase 3

Projekt in Gruppenarbeit

Vollständigen Softwareentwicklungsprozess möglichst eigenständig durchführen, Kooperation und Wettbewerb zwischen den Gruppen

Ziele Vertiefung und Anwendung des in Phase 1 und Phase 2 Erlernten; Reflexion von Vorgehensweise und eigenen Design-Ideen
Medien CRC-Karten, IDE, Bibliothek
Konzepte Objektorientierte Analyse, objektorientiertes Design, Beurteilungskriterien (Verständlichkeit, Einfachheit, Korrektheit, "Erweiterbarkeit", "Aufgabenangemessenheit"), Anwendungsfälle aus Entwickler- und Nutzersicht


Dauer: ca 20 Unterrichtsstunden

Lernziele: Erlernen von Zusammenhängen einzelner Schritte objektorientierter Softwareentwicklung, Kommunikationsfähigkeit, Evaluation von Software und Gestaltungsmöglichkeiten

Werkzeuge: Fujaba, Dobs, CRC-Karten, Objektspiel (jetzt ohne Lehreranleitung)

Ablauf: Die Lehreperson hat ähnlich zum Beginn der Phase 2 eine neue Anwendungsdomäne vorbereitet und tritt nun in dieser Phase in der Rolle eines Auftraggebers auf, der von den Schülerinnen und Schülern bzw. von den einzelnen Gruppen die Erstellung einer Softwareanwendung für diese Anwendungsdomäne verlangt. Sie sollen also in dieser Phase projektartig in Gruppen und dabei so eigenständig wie möglich die Phasen eines Softwareentwicklungsprozess durchlaufen. Die Anwendungsdomäne bzw. das Anwendungsbeispiel sollte dabei von der Lehrperson so gewählt sein, dass es sich strukturell und in seiner Komplexität von den Schülerinnen und Schülern bewältigen lässt (in Phase 3 des life³-Projektunterrichts war dies das Spiel Memory). Dabei können ihnen dann natürlich die Kenntnisse und Unterlagen der beiden vorangegangenen Phasen von Nutzen sein. Neben der Rolle als Auftraggeber, der sich ständig über den Projektstand einer jeden Gruppe erkundigt, kommt der Lehrperson in dieser Phase mehr noch als in Phase 2 die Rolle einer Beraters zu. Er gibt u.a. Hinweise zu Abstimmung und Arbeitsteilung in den Gruppen, steht bei Problemen als Ansprechpartner zur Verfügung.

Wichtig ist auch in dieser Phase, dass einzelne Gruppen in regelmäßigen Abständen ihren Projektstand und ihr Vorgehen dem ganzen Kurs vorstellen und ihre Realisierungen im Plenum diskutiert werden. Dabei erhalten andere Gruppen Anregungen, können eigenen Erfahrungen einfließen lassen und (Modellierungs-)Fehler wie auch sonstige Sackgassensituationen vermeiden. Bei all dem sollte die Lehrperson wie schon in den beiden vorangegangenen Phasen auf begrifflich präzise Artikulation und Argumentation seitens der Schülerinnen und Schüler achten und diese auch einfordern.

Die Phase endet mit einer abschließenden Projektpräsentation durch die einzelnen Gruppen und einer Reflexion über das Vorgehen, die Bedeutung wichtiger Konzepte wie z.B. der Ereignisbehandlung, usw.

Systemorientierte Didaktik

Lorem Ipsum...

Lerntheoretischer Hintergrund

Lorem Ipsum...