• Keine Ergebnisse gefunden

Hands-on Informatik

N/A
N/A
Protected

Academic year: 2022

Aktie "Hands-on Informatik"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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.

Ausblick:

 Erster Einsatz als Unterrichtsprojekt im Schuljahr 2010/2011 im Rahmen einer schriftlichen Hausarbeit eines Studienreferendars

 Durchgängiger Einsatz im Schuljahr 2011/2012 mit anschließen- der Evaluation

 Tests weiterer Funktionsmodelle, v.a. zur Reduzierung der Kosten, dazu laufende schriftliche Hausarbeit eines Lehramtsstudenten mit dem Thema „Mikrocontroller - objektorientiert“ mit Arduino

public class Lampe {

private int nummer;

private String zustand;

public Lampe(int nummer) {

this.nummer=nummer;

zustand="aus";

}

public void einschalten() {

hardware.ledOn(nummer); // ausgelöste Aktion zustand="ein"; // Zustandsänderung

}

public void ausschalten() {

hardware.ledOff(nummer); // ausgelöste Aktion zustand="aus"; // Zustandsänderung

}

public String zustandGeben() { return zustand;

} }

Klasse Ampel als abstrakte Oberklasse der Spezialisierungen Fussgaenger-

ampel und Strassenampel

Vorteile:

 Anwendung aus der Erfahrungswelt der Schüler

 „echte“ Interaktion mit dem System durch Aktoren (LEDs) und Sensoren (Tast-, Magnet– und Helligkeitssensoren) statt

„Kommunikation“ mit dem System über Textausgaben auf der Konsole oder mittels einfacher grafischer Ausgaben

Schülersicht

Ziele:

 Förderung eines besseren Verständnisses der Schüler für objekt- orientierte Konzepte

 Nachweis, dass durch enaktive Repräsentationen im Vergleich zu rein softwarebasierten Darstellungen das Verständnis für kom-

plexe Zusammenhänge im Informatikunterricht erhöht werden kann

Klasse Lampe mit dem Attribut nummer und den Methoden einschalten() und ausschalten()

Erweiterung der Klasse Lampe um ein Attribut zustand und der sondierenden

Methode zustandGeben()

Einführung weiterer Klassen, z.B.

Fussgaengerampel, Strassenampel, Tastsensor, Magnetsensor, Helligkeits-

sensor inkl. ihrer Beziehungen

Gesamte Ampelsteuerung mit Tag–

und Nachtbetrieb, Geschwindigkeits–

und Rotblitzer

StR Carsten Müller

Dr. Matthias Ehmann carsten.mueller@uni-bayreuth.de

matthias.ehmann@uni-bayreuth.de

Referenzen

ÄHNLICHE DOKUMENTE

Ein Kind, das sich schwertut, können Sie fragen: „Welcher Buchstabe ist für dich gelungen/perfekt?“ Auch wenn fast alle nicht „schön“ sind, lässt sich sicher einer finden,

Weder das Werk als Ganzes noch seine Teile dürfen ohne Einwilligung des Verlages eingescannt, an Dritte weitergeleitet, in ein Netzwerk wie Internet oder Intranet eingestellt

The “Draw Structure” option of the PubChem database allows you to depict your SMILES and SMARTS, which opens a separate

The Chemical Structure Search option of the PubChem database allows you to depict your SMILES and SMARTS using the Sketch button that opens a separate

The Chemical Structure Search option of the PubChem database allows you to depict your SMILES and SMARTS using the Sketch button that opens a separate

Realistic modeling of strongly correlated materials Wannier functions and Coulomb parameters. Impurity solvers for DMFT and beyond Tutorial sessions on

Compiler (wenn nicht in die IDE integriert) herunterladen / installieren / der IDE sagen, wo sie den Compiler auf deiner Festplatte findet 3.. Entwicklungsumgebung starten und

I intuition: the closer h is to true cost to goal, the more efficient the search using