Hands-on Informatik
Weiterentwicklung des Informatikunterrichts der 10. Jahrgangsstufe am naturwissenschaftlich- technologischen Zweig des bayerischen Gymnasiums
Didaktik der Informatik - Universität Bayreuth - http://did.inf.uni-bayreuth.de
Grundidee: Informatik „begreifen“ mit Funktions- modellen
Erstellung eines Unterrichtskonzepts zum Einsatz von Funktionsmodellen bei der objektorientierten Modellie- rung und Programmierung in der 10. Jahrgangsstufe am naturwissenschaftlich-technologischen Zweig des Gymnasiums in Bayern
Umsetzung aller Lehrplaninhalte mit einem Funktions- modell
Vergleich mehrerer Funktionsmodelle bzgl. ihrer Ein- satzmöglichkeiten und Kosten
Erster Ansatz: Ampelsteuerung mit BlueJ und CrossRoads
(Knobloch GmbH)
CrossRoads:
bisher:
Einsatz des CrossRoads-Boards mit fischertechnik RoboPro-Software z.B.
im IT-Unterricht an der Realschule im Modulblock H „Simulation—
Messen, Steuern, Regeln“ zur Ablaufsteuerung ohne objektorientierte Konzepte
neu:
Hardwareansteuerung in Java
vollständige Kapselung der Hardwareansteuerung
Klasse hardware als Singleton implementiert, er-
scheint den Schülern als Objekt hardware der Klasse Hardware
automatischer Import der Java-Klasse inkl. der Hardware-Bibliotheken in BlueJ
Methoden zur Ansteuerung der Hardware mit englischen Namen (z.B.
ledOn(int nr)) zur Unterscheidung von selbstentwickelten Methoden
Auszug aus dem Lehrplan für das Fach Informatik in der Jahrgangsstufe 10 am naturwissenschaftlich-technologischen Zweig des bayerischen Gymnasiums:
Inf 10.1 Objekte und Abläufe
Die Schüler beschäftigen sich nun intensiver mit dem Verhalten von Objekten. Dabei lernen sie, Abläufe zu modellieren und automatisierte Vorgänge zu gestal- ten. Sie entwerfen Zustandsmodelle sowie Algorithmen und überprüfen deren Stimmigkeit durch Realisierung auf einem Computer.
Inf 10.1.1 Zusammenfassung und Festigung der bisher erlernten objektorientierten Konzepte (ca. 4 Std.)
Unter Verwendung einer geeigneten Entwicklungsumgebung für die objektorientierte Modellierung wiederholen und präzisieren die Schüler anhand von einfa- chen Beispielen die bekannten Begriffe und Notationen der objektorientierten Sichtweise. Dabei wird ihnen deutlich, dass Objekte im Wesentlichen eine Einheit aus Attributen und Methoden darstellen. Die Schüler greifen hierbei ihre Kenntnisse über Daten und Funktionen aus der vorhergehenden Jahrgangsstufe auf.
Wiederholung und Präzisierung der Begriffe Objekt, Klasse, Attribut, Methode
Objekt als Kombination aus Attributen und Methoden
graphische Darstellung von Klassen und Objekten, Beschreibung statischer Beziehungen durch Objekt- bzw. Klassendiagramme
Inf 10.1.2 Zustände von Objekten und algorithmische Beschreibung von Abläufen (ca. 22 Std.)
Die Schüler lernen, die Veränderungen von Objekten mithilfe von Zuständen und Übergängen zu beschreiben sowie mit Zustandsübergangsdiagrammen zu do- kumentieren. Bei der Umsetzung dieser Zustandsmodelle in objektorientierte Programme legen sie die Zustände durch Werte von Attributen (Variablen) fest und ordnen den Übergängen Methodenaufrufe zu. Dabei wird den Jugendlichen deutlich, dass zwischen den Zuständen der realen Objekte, deren Verhalten si- muliert werden soll, und den Zuständen der Programmobjekte zu unterscheiden ist.
Bei dieser Umsetzung der Zustandsmodelle in objektorientierte Programme verwenden die Schüler bereits bekannte Bausteine von Algorithmen. Anhand über- schaubarer Beispiele vertiefen sie so ihre Kenntnisse über die algorithmische Beschreibung von Abläufen. Zudem verdeutlicht ihnen die Zustandssicht auf Attri- bute, dass sich der Variablenbegriff der Informatik von dem der Mathematik grundlegend unterscheidet.
Zustand von Objekten: Festlegung durch Zustände der Attribute, Zustandsübergang durch Wertzuweisung
Zustandsdiagramme einfacher Automaten (Zustand, Zustandsübergang: auslösende Aktion, Bedingung und ausgelöste Aktion)
Variablenkonzept am Beispiel von Attributen (Bezeichner, Wert, Typ bzw. Klasse, Zuweisung)
einfache und zusammengesetzte Datentypen, insbesondere Feld
Lebenszyklus von Objekten von der Instanzierung über die Initialisierung bis zur Freigabe
Algorithmen: Begriff, Strukturelemente, graphische Darstellung
Umsetzung der beschriebenen Abläufe in objektorientierte Programme; Beispiele für einfache Algorithmen
Inf 10.1.3 Beziehungen zwischen Objekten (ca. 10 Std.)
Die Schüler erkennen, dass wesentliche Abläufe eines Systems auf der Kommunikation zwischen seinen Objekten basieren. Für die vollständige Beschreibung müssen neben den bereits kennengelernten statischen auch die dynamischen Beziehungen zwischen Objekten bzw. Klassen erfasst werden. Hierfür lernen die Jugendlichen geeignete graphische Notationen kennen und erarbeiten Möglichkeiten zur Realisierung der Beziehungen in einer Programmiersprache.
Kommunikation zwischen Objekten durch Aufruf von Methoden; Interaktionsdiagramme; Datenkapselung
Definition von Schnittstellen: Ein- bzw. Ausgangsparameter, Funktionswert, Probleme bei der Verwendung globaler Variablen
Realisierung der Enthält-Beziehung, Referenzen auf Objekte Inf 10.2 Generalisierung und Spezialisierung (ca. 10 Std.)
Die Jugendlichen verwenden hierarchische Strukturen zur Ordnung ihrer Erfahrungswelt. Sie erkennen, dass sich diese oft durch eine spezielle Art von Bezie- hungen zwischen den Klassen eines Modells darstellen lassen. Die Schüler lernen hier das Prinzip der Vererbung kennen und wenden es an. Sie beschäftigen sich insbesondere mit der Möglichkeit einer zunehmenden Spezialisierung durch Veränderung ererbter Methoden.
Generalisierung bzw. Spezialisierung durch Ober- bzw. Unterklassen, Abbildung in Klassendiagramme, Vererbung
Polymorphismus und Überschreiben (overriding) von Methoden Inf 10.3 Komplexeres Anwendungsbeispiel (ca. 10 Std.)
Ein größeres Projekt (z. B. Flugbuchungssystem, Simulation zeitdynamischer Systeme wie Populationsentwicklung) bietet den Jugendlichen die Möglichkeit zu erfahren, dass erst das Zusammenspiel ihrer bisher erworbenen Kenntnisse und konstruktives Arbeiten im Team es erlauben, schwierigere Aufgabenstellungen zu bearbeiten. Sie setzen mehrere Beschreibungstechniken ein und machen sich damit deren Zusammenwirken in einem größeren Kontext bewusst.