athena.gif (7242 Byte)

 0. Vorbemerkungen...
   

... für Informatiklehrer und andere interessierte Kollegen
... für Schüler / Kursteilnehmer
... für Vertreter der Hochschulinformatik
... für Delphi-Programmierfreaks

  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?

  1. 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.
     
  2. 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.
     
  3. 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.
     
  4. 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.
     
  5. 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.
     
  6. 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.
     
  7. 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.
     
  8. 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?

  1. Der compilierte Programmcode im EXE-Format ist (z.B. im Gegensatz zu Java) plattformabhängig und läuft nur auf Windows-Rechnern.
     
  2. 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 ;-)