FIAT LUX !
Taschenlampen und ihre softwaretechnische Abbildung
1. Worum es geht und wie man vorgehen kann
In seiner Dissertation hat M. Thomas rund 150 Skripte
zu Veranstaltungen der Fachwissenschaft Informatik untersucht. Er
schreibt, daß in 83% aller Skripte das Wort "Modell" in irgendeiner Form
durchschnittlich auf jeder 2.-3. Seite vorkommt. Er schließt daraus, daß
schon aus der Auftrittshäufigkeit "dem Modell offensichtlich ein zentraler
Stellenwert innerhalb der Fachwissenschaft zuzuordnen" ist1).
Dieser Stellenwert ist inzwischen in vielen Rahmenlehrplänen verankert
worden. Liest man die Synopse zur informatischen Modellbildung bei Thomas
weiter, kann einem schwindlig werden ob der verwirrenden Vielfalt von rund
50 Modellbegriffen und Modellierungstechniken. Keinesfalls kann es Aufgabe
des Informatikunterrichts sein, unter Modellierung das Abklappern oder
Trainieren z. B. aller UML-Diagramme für eine Aufgabe zu verstehen.
Nach wie vor ist die übergeordnete Kompetenz das Problemlösen. So wie
Modellbildung ohne Problemlösen nicht stattfinden sollte, so sollte auch
Problemlösen ohne Modellbildung im Informatikunterricht nicht vorkommen.
Wie immer ist auch hier die klassische Werkzeugwahl angesagt. Wer ein
Zahnrädchen in eine Uhr einsetzen will, sollte wissen, ob er dazu eine
Kneifzange, eine Pinzette oder einen Hammer braucht. Und er braucht Übung
dazu - viel Übung. Auf dem Weg dahin soll dieses Beispiel helfen,
das die objektorientierte Modellierung zum Thema hat.
Bertrand Meyer, einer der Väter der objektorientierten
Programmierung, hat einmal
sinngemäß gesagt, daß es keiner akademischen Diskussion bedürfe, um
Objekte zu finden, sie lägen uns zu Füßen und brauchten nur aufgehoben zu
werden. Da ist viel Wahres dran, aber so leicht es scheint, häufig genug
muß der Software-Entwickler Entscheidungen treffen, ob dieses oder jenes
Objekt überhaupt gebraucht wird und wie es für das Programm gestaltet sein
muß. Diese Entwicklung und Entscheidungen stellen einen Prozeß der
Abstraktion dar, das Hauptgeschäft der Softwareentwicklung, welches mit dem
Begriff der Modellierung beschrieben wird. Zeitgemäßer
Informatikunterricht stellt diese Kompetenzen in den Mittelpunkt.
Das Projekt Taschenlampe
Es soll ein Programm erstellt werden, das eine traditionelle Taschenlampe
mit ihren Funktionen simuliert und auf dem Bildschirm darstellt2).
An diesem Beispiel sollen in aufeinanderfolgenden
Versionen mögliche Varianten der
Modellierung gezeigt werden als ein Entwicklungsprozeß der von einer
hochgradigen Vereinfachung (Abstraktion) zu einem immer weiter
verbesserten, realitätsnäheren
Modell führt. Für eine derartige Simulation werden vereinfachende
Annahmen getroffen, es gilt aber immer,
daß das Modell isomorph bleibt und nicht bis zur
Unkenntlichkeit reduziert wird.
Bei dem Projekt wurde darauf geachtet, daß zunächst
eine tragfähige Struktur gefunden wird, die durchgängig beibehalten werden
kann. Weitere Änderungen oder Verbesserungen der Algorithmen können so auf
leicht zu lokalisierende Weise in den jeweiligen Klassen vorgenommen
werden, teilweise dergestalt, daß andere Klassen gar nicht verändert
werden müssen. Darin liegt einer der großen Vorteile objektorientierter
Modellierung. Als Entwicklungsmodell wurde das evolutionäre Prototyping
gewählt, das sich im Unterricht bewährt hat und für kleinere (Schul)Projekte
ideal ist.
- Als Einführung in die Programmierung
Das Projekt ist so angelegt, daß es als Einführung in die Programmierung
genutzt werden kann. Dann beginnt man mit der Version 1.0 und geht bis zum
Ende oder so weit, wie es nötig scheint. Dabei wird der Lehrer wohl
richtigen Unterricht daraus machen müssen. Das Material ist durch
ergänzende und vertiefende Materialien angereichert und kann daher auch zum selbstorganisierten Lernen genutzt werden.
Die Lerneinheit enthält (bis auf Polymorphie) alle
wichtigen Elemente der OOP, Datentypen und Algorithmen soweit sie hier
benötigt werden. In der Version 1 werden Hinweise zur Programmierung mit
DELPHI gegeben, in den weiteren wird darauf verzichtet. Der gesamte Code
ist im Anhang enthalten.
- Zur Vertiefung oder als kleines Softwareprojekt
Nach einer Einführung und Vorkenntnissen in OOP kann man bei V. 1.2 anfangen und weiter gehen.
- Als Softwarepraktikum
Für ein fortgeschrittenes fächerübergreifendes Softwareprojekt wird die
Aufgabe gestellt, anhand der Anforderungsdefinition ein Programm auf dem
Niveau der Version 1.3.2 selbständig zu entwickeln und zu implementieren.
--------------
1) Thomas, M.: Informatische Modellbildung. Modellieren von Modellen als
ein zentrales Element der Informatik für den
allgemeinbildenden Schulunterricht. Dissertationsschrift, S.
48
http://ddi.uni-muenster.de/Personen/marco/Informatische_Modellbildung_Thomas_2002.pdf,
S. 48
2) Das Projekt basiert auf der Unterrichtssequenz von
Steinbrucker, Chr.: Objektorientierung im
Anfangsunterricht!!! - Simulation einer Taschenlampe mit Delphi.
IN: LOG IN, Nr. 131/132 (2004).
|