| |
|
SOFTWARE |
|
|
|
|
|
0. Vorbemerkungen...
... Für Informatiklehrer und andere interessierte Kollegen:
Bei Weiterbildungen und anderen Treffen erweisen sich die
Informatiker unter den Lehrern meist als buntes Völkchen: die
einen schwören traditionell auf Pascal,
andere haben Visual-Basic für
sich und ihre Schüler entdeckt, wieder andere favorisieren JavaSkript
u./o. Java für den
Unterricht, es gibt Vertreter der reinen Lehre des Oberon.
Und schließlich meinen einige, dass auch Tabellenkalkulationen,
Makro- oder Abfragesprachen
eine gangbare Brücke zwischen Schülerinteressen und Lehrplanerfüllung
aufspannen. Ach ja, da gibt es noch die Ecken der C++-Protagonisten,
der Anhänger des deskriptiven Prolog und
die der Delphi-Befürworter
und und und.
Das Gemeinsame ist stärker als das
Trennende! Alle haben irgendwo recht und jeder kann triftige Gründe aufführen, die seine Programmierumgebung favorisieren, hat griffige Unterrichtsbeispiele parat, weiß von bemerkenswerten Schülerleistungen zu berichten, hätte gern mehr Zeit und kultusministeriale Protektion für sein Fach ... Doch genau letztere steht in Frage, wenn wir bei aller Vielfalt verabsäumen, die uns gemeinsamen Ziele, bezogen auf die Denk- und Arbeitsweisen unserer Schüler an der Schwelle eines Informationszeitalters und den dazu notwendigen Stellenwert unseres Faches in den Mittelpunkt der Diskussion zu stellen - und das reduziert viele scheinbare Unterschiede auf nahe Null. In diesem Zusammenhang möchte ich allen interessierten und engagierten Fachkollegen die Mitarbeit in den GI-Landesfachgruppen zur Schulinformatik wärmstens ans Herz legen. Aus obiger Überlegung heraus kann und will ich an dieser Stelle nur auf jene Gründe verweisen, die uns am Lessing-Gymnasium Plauen zum Umstieg von Turbo-Pascal auf Delphi veranlassten ohne zu behaupten, dass andere zeitgemäße Programmiersysteme weniger vorteilhaft einsetzbar sind. Was spricht also aus unserer Sicht für Delphi und die komponentenbasierte Programmierung? - Unter Turbo-Pascal verzeichneten wir eine nachlassende Schülermotivation bezüglich Programmierung. Bezogen auf die gewohnte Welt einer grafischen Benutzeroberfläche erschien das textorientierte Programmiersystem nicht mehr attraktiv genug. Mit Delphi können die Schüler im Handumdrehen eine attraktive und voll funktionierende Benutzeroberfläche für ihr Programm erstellen.
- Neben seinen intuitiv bedienbaren visuellen Komponenten (die
es natürlich auch für andere Programmiersprachen gibt),
besteht Delphi im algorithmischen Kern aus Object-Pascal,
dessen Syntax über weite Strecken gleich oder ähnlich
Turbo-Pascal ist. Dies ermöglichte einen sanften Übergang.
- Die visuellen Komponenten entlasten den Schüler von der
aufwendigen Programmierung der I/O- und
Bildschirmsteuerungsfunktionen und machen sofort den Blick
frei für die Umsetzung des eigentlichen Problemlösungsalgorithmus
- selbst der gegenwärtig gültige sächsische Lehrplan von
'92 kann meines Erachtens damit besser erfüllt werden als mit
Turbo-Pascal.
- Der zum Großteil automatisch vom System erzeugte Quelltext
ist durchgehend prozedural gegliedert, so dass die meist in
den letzten Lehrplankapiteln thematisierte modulare
Programmierung von der ersten Stunde an integrativer
Bestandteil ist, was das Infragestellen des Sinns modularer
Strukturen für einfache Programmbeispiele vermeidet.
- In Delphi wird das Konzept der objektorientierten
Programmierung (OOP) verfolgt. Damit hat man im Unterricht
einen Zugang zum objektorientierten Softwareentwurf, ist aber
dank der visuellen Komponenten keineswegs gezwungen, die
Unterrichtsreihe mit einer umfassenden theoretischen Einführung
in die OOP zu beginnen.
- Delphi besitzt eine Datenbankschnittstelle inklusive SQL. In
vielen Lehrplänen zur Informatik wird der Umgang mit
Datenbanken gefordert oder wahlobligatorisch angeboten. Dabei
kann das Einarbeiten in ein spezifisches Datenbankprogramm
entfallen, wenn man statt dessen die bis dahin den Schülern
vertraute Programmierumgebung von Delphi benutzt.
- Delphi stellt bezüglich seiner Mächtigkeit als
Programmierumgebung vergleichsweise geringe
Hardwareanforderungen. So läuft die Version 1.0 unter
Windows 3.1 bereits auf einem 486er PC mit 8 MB RAM.
- Die große Vielfalt an Komponenten und Funktionalität,
gepaart mit einer brauchbaren Online-Hilfe eröffnen
hervorragende Möglichkeiten zu einer durchgehenden
Binnendifferenzierung des Unterrichtes. Begabte Schüler
finden massenhaft Anregungen zum selbständigen Erweitern
ihrer Projekte.
Was könnte gegen den Einsatz von
Delphi sprechen?
- Der compilierte Programmcode im EXE-Format ist (z.B. im
Gegensatz zu Java) plattformabhängig und läuft nur auf
Windows-Rechnern.
- Die Delphi-Programmierumgebung ist für die Schüler nicht
kostenlos verfügbar (Hausaufgaben), wenngleich auch zunehmend
preiswerte Student-Versionen (EXE-Dateien nicht portierbar!)
angeboten werden.
Seitenanfang
... Für Schüler / Kursteilnehmer:
Wozu eigentlich programmieren? Braucht man das später
wirklich? Es gibt doch soooo viele andere interessante Dinge, die
man mit einen Computer machen kann ...
Solche und ähnliche Fragen sind durchaus berechtigt - nur
wenige Schüler werden ihr Geld später mit der Programmierung
kommerzieller Software verdienen. Doch so gut wie alle werden
beruflich und privat mehr oder weniger intensiv mit Computern zu
tun bekommen. Keiner kann vorhersagen, welche Anforderungen dann
genau vor ihm stehen werden, mit welchen Hard-und
Softwarekomponenten er konfrontiert sein wird.
Bedienen (des Computers) ist schnell gelernt, weil es
von "Dienen" kommt: Mausklick hier, Mausklick da - und
wenn nichts mehr geht, wird sich schon einer finden, der ...
Wäre es nicht besser, diese Technik zu benutzen oder
gar zu beherrschen, als nur ihr dienendes Anhängsel zu
sein? Computer sollen doch Problemlösungen erleichtern und nicht
nur zusätzliche Probleme schaffen! Und genau dabei kann ein
Grundverständnis von Programmabläufen, von Objekten,
Eigenschaften und Methoden ganz wertvolle Hilfe leisten.
Außerdem vollziehen sich viele Dinge im Alltag in programmähnlichen
Strukturen, es müssen Ereignisse vorausgeplant,
Problemsituationen analysiert, alternative Strategien gefunden,
Aktivitäten vernetzt werden ... Hierbei kann algorithmisches
Denken (und das wird beim Programmieren intensiv geschult!) einen
vorzüglichen Beitrag leisten, diesen Situationen besser gewachsen
zu sein, sie also zu beherrschen.
Und nicht zuletzt kann Programmierung auch Spaß machen,
spannend und unterhaltsam sein, kreative Kräfte freilegen und
immer wieder neu herausfordern - manch einer sprach schon davon,
dass man danach fast süchtig werden kann!
So, wer 's nun immer noch nicht gecheckt hat, wozu
Programmierung in der Schule gut ist, der gehe bitte zu seinem
Mathelehrer und frage ihn, ob er anstelle der Integralrechnung
nicht lieber das Ausfüllen und Nachrechnen einer Steuererklärung
in den Mittelpunkt seines Unterrichtesstellen könnte - denn das
wird doch garantiert von jedem gebraucht, oder? ;-)
Seitenanfang
... Für Vertreter der Hochschulinformatik:
Falls Sie über diese Seiten stolpern und eine wissenschaftlich
exakte Einführung in die OOP vermissen, wie sie an Hochschulen /
Universitäten gelehrt wird, mag Sie das verdrießen, vielleicht
das fachliche Hinterland des Autors in Frage stellen lassen.
Letzteres wurde aber durchaus im Studium an der TU Dresden auch
mit OOP-Kenntnissen bestellt, allein der Ausgangspunkt und die
Voraussetzungen der jeweils Lernenden sind grundverschieden.
Im sächsischen Gymnasium sitzen derzeit Schüler in den
Kursen, die in der Mehrheit noch nicht programmiert haben, die
aber mehr oder minder mit grafischen Benutzeroberflächen umgehen
können und entsprechende Erwartungsbilder an selbst zu
erstellende Programme knüpfen. Ergo empfehlen sich Systeme für
den Unterricht, die nach dem Baukastenprinzip fertige Oberflächenkomponenten
anbieten und den Blick frei machen für die Umsetzung von
algorithmischen Grundstrukturen in einer imperativen Sprache.
OOP-Kenntnisse entstehen durch den eher intuitiven Umgang mit
vorgefertigten Komponenten zunächst nur auf der Stufe einer Propädeutik
und werden in ihrer Begrifflichkeit später stufenweise untersetzt
und ausgebaut.
Da auch in der Wissenschaft bisher keine allgemein anerkannte
Charakterisierung der OOP vorliegt und recht verschiedene
Standpunkte vertreten werden, erlaubt sich der Autor in diesem
Lehrmaterial folgende didaktische Reduktion:
OOP im Unterricht reduziert sich zunächst auf die
komponentenbasierte Programmierung, geht also von der Existenz
vorgefertigter Objekte (Komponenten) aus, deren gegebene
Eigenschaften durch zu implementierende Methoden zielgerichtet
manipuliert werden. Einführungen in die Begriffswelt der OOP
ordnen sich in den jeweils gegebenen Gesamtzusammenhang des
Unterrichts ein, der wiederum durch das Problemlösen mittels
algorithmischer Grundstrukturen dominiert wird.
Seitenanfang
... Für
Delphi-Programmierfreaks:
Wenn Ihr an dieser Stelle Bibliotheken mit tollen, nie da
gewesenen Komponenten der neuesten Delphi-Version oder Sammlungen
von Tipps und Tricks auf Expertenebene erwartet, dann seit ihr
hier leider falsch!
Und wenn Ihr in meinen Seiten dennoch einmal blättert, dürfte
Euch Umfang und Schwierigkeitsgrad der hier vorgestellten Projekte
allenfalls ein müdes Lächeln abgewinnen, das durch mein Eingeständnis,
im Jahre 1999 noch mit der Version 1.0 zu programmieren, in
schallendes Gelächter übergehen wird. Wie dem auch sei, bedenkt
bitte eines: Die meisten unserer Elftklässler haben bezüglich
Programmierung einen Vorkenntnisstand nahe Null, und es ist auch
nicht erklärtes Ziel der Informatikkurse, in knapp 60 Stunden
"fertige" Programmierer auszubilden. Grundlagen,
typische Denk- und Arbeitsweisen sowie die Befähigung zum selbständigen
Weiterlernen sind mir tausendmal wichtiger als hochkarätige
Softwareprojekte auf neuester Plattform. Lieber sollen sich
bekennende Freaks rechtzeitig outen, aus dem regulären Unterricht
ausklinken und eigene Projekte durchziehen - und dabei kamen schon
äußerst bemerkenswerte Programme heraus!
PS: auch der Autor dieser Seiten hat schon mehr programmiert als
nur einen Taschenrechner ;-)
|
|
|
|
|
|