Ziele und Inhalte des Informatik- unterrichts
Ziele und Inhalte des Informatik- unterrichts
Ziele und Inhalte des Informatik- unterrichts
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
ZDM~Ji<br />
EntScheiden<strong>des</strong> Kriterium für die Wahl einer<br />
Programmiersprache aus didaktischer Sicht ist die Frage,<br />
ob sie geeignet ist, die Gr<strong>und</strong>konzepte <strong>des</strong> Programmierens<br />
<strong>und</strong> der <strong>Informatik</strong> in umfassender <strong>und</strong> klarer<br />
Weise zu beleuchten.<br />
Ziegenbalg<br />
Die Grenzen meiner Sprache sind die Grenzen meiner Welt.<br />
Wittgenstein<br />
Erwerb, Speicherung, kognitive Organisation <strong>und</strong> Weitergabe<br />
von Wissen sind ohne Sprache nicht möglich. Informationen<br />
sind überwiegend sprachlich codiert, der kognitive<br />
Prozeß ihrer Wiederauffindung im Gedächtnis folgt<br />
zum Teil sprachstrukturellen Gegebenheiten,' <strong>und</strong> der<br />
kommunikative Prozeß der Weitergabe von Information<br />
ist so gut wie immer sprachlich organisiert. Aus diesem<br />
Gr<strong>und</strong> kommt dem Phänomen "Sprache" auch in der<br />
<strong>Informatik</strong> eine herausragende Bedeutung zu. Im <strong>Informatik</strong>unterricht<br />
wird eine Vielzahl von Sprachen in unterschiedlicher<br />
Funktion verwendet. Ganz ähnlich wie im<br />
Mutter- <strong>und</strong>/oder Fremdsprachenunterricht lernen die<br />
Schüler einerseits den Umgang mit Sprache(n) }lnd andererseits<br />
die Reflexion über Sprache. !<br />
Zur Problemanalyse dient die Umgangssprache, bei der<br />
Algorithmusentwicklung werden als Spezifikations- bzw.<br />
als EntWUrfssprachen geeignete Erweiterungen bzw. Formalisierungen<br />
der Umgangssprache (ggf. mit Einbau grafischer<br />
Elemente) verwendet, als Kommunikationsmedium<br />
zwischen Mensch <strong>und</strong> Computer dient einerseits die<br />
Programmiersprache, andererseits die vom Programmautor<br />
vorgesehene Sprache für den Benutzerdialog (z. B.<br />
Menüs oder Kommandosprache). Die verwendete Programmiersprache<br />
"steckt den ModelIierungsspielraum<br />
ab" (Schubert 1991) <strong>und</strong> ist damit nicht nur Darstellungsmedium,<br />
sondern Denkwerkzeug.<br />
" Wir verwenden zwar Basic in unserem <strong>Informatik</strong>unterricht,<br />
aber die spezielle Programmiersprache -deren es<br />
bekanntlich sehr viele gibt -ist nur ein Mittel, um den zur<br />
Lösung eines Problem entwickelten Algorithmus computergerecht<br />
darstellen <strong>und</strong> dann das Problem mit Hilfe <strong>des</strong><br />
Computers auch wirklich lösen zu können" (Walsch 1988,<br />
S. 86). Diese viel gehörte Ansicht wird der Rolle einer<br />
Programmiersprache nicht gerecht. Sie beachtet nicht, daß<br />
bereits die Formulierung eines Algorithmus nicht sprachunabhängig<br />
geschieht, <strong>und</strong> daß aIsEntWUrfssprache i. d.<br />
R. eine Sprache verwendet wird, die sich an die spätere<br />
Programmiersprache anlehnt. "Nicht selten findet man<br />
sogar formale Spezifikationen, die in einer Art Pseudo-<br />
Pascal formuliert sind. Zumin<strong>des</strong>t aber werden die Probleme<br />
so ausgewählt <strong>und</strong> aufbereitet, daß sie später leicht in<br />
die Programmiersprache übertragen werden können"<br />
(Gasper 1987, S. 78).<br />
4.2.1 Imperativische (anweisungsorientierte) Sprachen<br />
Eine anweisungsorientierte Programmiersprache bietet<br />
Mittel an, mit denen ein Programm als sequentieller Plan<br />
für Aktionsfolgen beschrieben werden kann. Sie stellt Ausdrucksmittel<br />
für die zyklische Abarbeitung von AnweisungsstÜcken<br />
(Iteration) zur Verfügung. Nun ist Iteration<br />
im Sinne von zeitlicher Wiederholung, ab~r auch von<br />
räumlicher Aneinanderreihung eine "universelle Idee",<br />
welche beträchtliches "heuristisches Potential" entfaltet<br />
(Winter 1989, S. 119). Unter dem Schlagwort "algorithmisches<br />
Denken" ist diese Idee vor allem von A. Engel<br />
413 "dynami3cher" Aspekt dem statisch-struktUrellen<br />
Aspekt der Mathematik entgegengesetzt worden.<br />
Analyser<br />
Wegen seiner Anschaulichkeit <strong>und</strong> intuitiven vertrautheit<br />
ist das Denken in sequentiell gegliederten Abläufen<br />
(nicht nur in der Mathematik) in der Tat f<strong>und</strong>amental,<br />
daher werden imperativische Sprachen immer einen zentralen<br />
Platz im <strong>Informatik</strong>unterricht behalten. Nachteilig<br />
ist ihre komplizierte Syntax, welche dazu zwingt, in einer<br />
langen Einarbeitungsphase sich die Sprache Schritt für<br />
Schritt anzueignen, bevor die ersten nichttrivialen Anwendungsaufgaben<br />
gelöst werden können. Aus diesem Gr<strong>und</strong><br />
gerät der <strong>Informatik</strong>unterricht zeitWeise zum Programmier(sprachen)kurs.<br />
Ferner sind imperativische Sprachen<br />
maschinennah <strong>und</strong> damit vergleichsweise ausdrucksschwach.<br />
Korrektheitsbeweise sind schwierig, da von der<br />
sequentiellen Struktur abstrahiert werden muß ("Schleifeninvariante").<br />
Derzeit wird als Programmiersprache in der Schule fast<br />
ausschließlich Pascal verwendet -<strong>und</strong> dies, obwohl die<br />
Mittel dieser Sprache zur Prozedur- als auch zur Datenabstraktion<br />
unvollkommen <strong>und</strong> dem heutigen Standard<br />
(auch in der Schule) nicht mehr angemessen sind. Während<br />
in Universitäten (UCSD) <strong>und</strong> kommerziellen Unternehmen<br />
(z. B. Borland) an Pascal immer weiter herumgedoktert<br />
wurde, um die Sprache modernen Anforderungen<br />
(Prozedur- <strong>und</strong> Datenabstraktion, Modularität, Objektorientierung)<br />
anzupassen, ohne ihre konzeptionellen<br />
Schwächen je vollständig beheben zu können, hat N.<br />
Wirth gleich "Nägel mit Köpfen" gemacht, indem er jene<br />
Konzepte von Anfang an in neuen SprachentWÜrfen realisierte<br />
(Modula-2 <strong>und</strong> Oberon). Daher kann die Forderung<br />
heute nur heißen: " Wenn imperativisches Programmieren,<br />
dann (min<strong>des</strong>tens) Modula-2".<br />
4.2.2 Applikative (funktionale) Sprachen<br />
Alle ihre formalen Eigenschaften können -<br />
wie etwa die Regeln <strong>des</strong> Schachspiels -innen einer St<strong>und</strong>e<br />
vermittelt werden. Nach kurzer Zeit vergessen wir die<br />
syntaktischen Details der Sprache (weil es keine gibt) <strong>und</strong><br />
wenden uns den inhaltlichen Problemen zu.<br />
Sauerbrey<br />
Neben der operativen (imperativischen) Algorithmusauffassung<br />
gibt es eine SichtWeise von Algorithmen, die durch<br />
starke mathematische Abstraktion gewonnen wird: sie<br />
nimmt keinen expliziten Bezug auf eine "Abfolge von<br />
Aktionen", sondern beschreibt lediglich den funktionalen<br />
Zusammenhang von Ein- <strong>und</strong> Ausgabedaten. Das Ergebnis,<br />
das ein Algorithmus aus gegebenen Datenobjekten<br />
erzeugt, wird durch Anwendung ("Applikation") <strong>des</strong> Algorithmus<br />
auf diese Objekte dargestellt, man spricht daher<br />
von applikativen (oder: funktionalen) Sprachen.<br />
Prominentester Vertreter dieser Sprache ist Lisp. Ihr<br />
großer Vorteil (den sie übrigens mit Prolog teilt, siehe<br />
unten) besteht in der einfachen syntaktischen Struktur<br />
sowie in ihrer Fähigkeit, die traditionelle Unterscheidung<br />
zwischen "passiven" Daten <strong>und</strong> "aktiven" Programmen<br />
aufzuheben. Ferner unterstÜtzt sie mehr als jede andere<br />
Sprache Strategien, Programme weitgehend modular zu<br />
konstruieren. " Wir können mit prozeduralen <strong>und</strong> mit<br />
Datenabstraktionen arbeiten, wir können Funktionen höherer<br />
Ordnung verwenden, um allgemeine Verwendungsmuster<br />
in den Griff zu bekommen, wir können mit Hilfe<br />
von Zuweisungen <strong>und</strong> Datenmutation lokale Zustände<br />
modellieren (...) Ulld wir können auf einfache Weise eingebettete<br />
Sprachen implementieren (Abelson u. a. 1991, S.<br />
xix).<br />
Für die Schule wurde Anfang der achtziger Jahre der<br />
Lisp-Dialekt Logo von einigen Mathematikdidaktikern<br />
15