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.
11 n.7Iv(pn ZDM 93/1<br />
hat man folgen<strong>des</strong> zu spczifizieren: ( 1.1) Die Menge X der<br />
Eingabezeichen, (1.2) die Menge y der Ausgabezeichen,<br />
(2) die Menge Z der internen Zustände, (3.1) di.~ Ausgabefunktion<br />
f : X x Z -+ Y, (3.2) die (Zustands- ) Ubergangsfunktion<br />
9 : X x Z -+ Z. Diese Beschreibung wird im<br />
Unterricht an konkreten Beispielen veranschaulicht (z. B.<br />
Warenautomat, bedingter Reflex).<br />
Die wichtigsten Verhaltenstypen informationsverarbeitender<br />
Systeme sind nach wachsender Komplexität geordnet:<br />
(a) Zuordner (Systeme ohne Gedächtnis), (b) Sequentielle<br />
Automaten (Systeme mit Gedächtnis) <strong>und</strong> (c) Systeme<br />
mit Parallelarchitektur. Betrachtet man die Typen in<br />
dieser Reihenfolge, wird damit zug]eich die historische<br />
Entwicklung ihrer technischen Konzeption nachvollzogen.<br />
Damit ist der Boden bereitet, um zum Kern der<br />
ganzen Unterrichtseinheit, demBegriff der Programmierbarkeit,<br />
vorzudringen. Zur Idee <strong>des</strong> Computers gehört<br />
unabdingbar dic prinzipielle Gleichheit von Programm<br />
<strong>und</strong> Daten; beide können nur je nach Kontext unterschieden<br />
werde,n. Beispielsweise sind bei derÜbersetzung von<br />
einer Sprache in eine andere Programme ihrerseits Daten.<br />
a) Zuordner<br />
Das einfachste Verhalten zeigen die sogenannten Zuordner.<br />
Sie sind dadurch charakterisiert, daß in der<br />
Ausgabefunktion das Zustandsargument irrelevant <strong>und</strong><br />
die Ubergangsfunktion damit nicht notWendig ist. Wir<br />
haben also eine Funktion f : x-+ Y, die jeder Eingabe<br />
genau cine Ausgabe zuordnct. Zuordner sind gewissermaßen<br />
ohne Gedächtnis; manchmal werden sie auch als<br />
"triviale Maschinen" bezeichnet. Technisch realisiert<br />
wcrden Zuordner bevorzugt als elektronische Gatter<br />
(digitallogische Schaltungen), die jeder Spannungskombination<br />
am Eingang nach kurzer konstruktionsbcdingter<br />
Verzögerungszeit cinen Ausgangsspannungswcrt<br />
zuordnen. Die" Wirkung" <strong>des</strong> Zuordners<br />
wird durch die Funktion f bcstimmt. Im Unterricht<br />
behandclt man (kurz) die binären Funktionen <strong>und</strong> ihre<br />
technische Realisierung als binäre Schaltnetze.<br />
b) Sequenticlle Automaten<br />
Zuordner stehen auf der untersten Stufc der Komplexitätsska]a,<br />
da sic sich durch eine einzige Funktion f<br />
charakterisieren lassen. Auf der nächsthöheren Stufe<br />
sind die sequentiellen Automaten angesiedelt, da zu<br />
ihrer Kennzeichnung zwei Funktionen f (Ausgabefunktion)<br />
<strong>und</strong> g (Zustandsübergangsfunktion) benötigt<br />
werden. Die Bezeichnung "sequentiell" drückt aus, daß<br />
die Wertverläufe der Eingabegröße x, der AusgabegrÖße<br />
y <strong>und</strong> der Zustandsgröße z Folgen sind. Die Zeit<br />
wird als diskrete Größe aufgefaßt, das System wird nur<br />
zu diskreten Zeitpunkten, jeweils nach dem Arbeitstakt,<br />
beobachtet. Ist die Zustandsmenge endlich, spricht<br />
man von einem endlichen (sequentiellen) Automaten.<br />
Die" Wirkung" <strong>des</strong> sequentiellen Automaten wird<br />
durch die Funktionen f <strong>und</strong> g bestimmt. Die digitaltechnische<br />
Realisierung ist das binäre Schaltwerk, <strong>und</strong> man<br />
beweist den Satz: Jeder endlichc sequentielle Automat<br />
läßt sich als binäres Schaltwerk realisieren. Als Beispiele<br />
konstruiert man im U nterricht Zähler, Schieberegister,<br />
Addierwerk usw. Dabei kommt es allein auf die Funktionsbeschreibung,<br />
nicht auf die elektronische Realisierung<br />
an.<br />
c) Programmsteucrung<br />
Wahrend ein sequentieller Automat durch fest vorgegebene<br />
Funktionen f <strong>und</strong> g stets auf eine ganz bestimmte<br />
Aufgabe spezialisiert ist, besteht das Wesen eines<br />
programmgesteuerten <strong>Informatik</strong>systems darin, daß es<br />
-je nach Programm -ganz unterschiedliche Aufgaben<br />
lösen kann. Programmierbarkeit bedeutet Universalität<br />
in folgendem Sinne: ein programmierbares System läßt<br />
sich durch Vorgabe eines Programms P (Austausch von<br />
f <strong>und</strong> g) dazu veranlassen, ein beliebiges gegebenes<br />
anderes System zu imitieren {simulieren); es spielt -<br />
einem Schauspieler vergleichbar -die Rolle jenes Systems<br />
<strong>und</strong> vertritt es dabei vollständig.<br />
Die Idee der Programmsteuerung ist uralt, sie entsteht<br />
bereits im Altertum. Dabei ist das Programm allerdings<br />
in einer besonderen Systemkomponente -z. B. einer<br />
Seilwicklung oder einer bestifteten Walze -gespeichert,<br />
die beim Programmwechsel ausgetauscht wird. Das<br />
Konzept eines universellen Rechenautomaten entwikkelte<br />
bereits um 1830 der britische Mathematiker Charles<br />
Babbage: seine "Analytical Engine" sollte jede Art<br />
von Berechnung ausführen, indem sie nach dem eingegebenen<br />
Programm ihre Berechnungsschritte organisieren<br />
konnte. Hier tritt zum ersten Mal ein vom materiellen<br />
Gerät unabhängiges Programms auf; bei der Analytical<br />
Engine sollte es auf Lochkarten festgehalten<br />
werden.<br />
Das Prinzip der Universalität entwickelte Alan M.<br />
Turing -r<strong>und</strong> 100 Jahre später -theoretisch weiter:<br />
"Die spezielle Eigenschaft von Digitalcomputem,daß<br />
sie jede andere diskrete Maschine nachahmen können,<br />
läf~t sich auch so ausdrücken, daß sie universelle Maschinen<br />
sind. Die Existenz von Maschinen mit dieser<br />
Eigenschaft hat die wichtige Konsequenz, daß es -von<br />
Geschwindigkeitserwägungen abgesehen -unnötig ist,<br />
immer neue Maschinen für unterschiedliche Rechenprozesse<br />
zu entWickeln. Diese können allesamt mit<br />
einem einzigen Digitalrechner durchgeführt werden,<br />
der für jeden Fall geeignet zu programmieren ist. Es<br />
wird sich zeigen, daß infolge<strong>des</strong>sen alle Digitalcomputer<br />
in gewisser Hinsicht äquivalent sind" (Turing).<br />
Turing konstruierte in den vierziger' Jahren einen<br />
elektronischen Rechenautomaten {ACE). Das technische<br />
Konzept wird jedoch nach John von Neumann<br />
benannt, der 1946 {zusammen mit Burks, Goldstine u.<br />
a.) das Modell eines programmgesteuerten Rechners<br />
entwarf, <strong>des</strong>sen Struktur sich noch heute bei den meisten<br />
Rechenanlagen mit einem Hauptprozessor wiederfindet.<br />
Im Unterricht wird ein einfaches Computermodell<br />
{Registermaschine) entwickelt <strong>und</strong> die zugehörige<br />
Maschinensprache als formale Sprache (SatZgliederungsgrammatik)<br />
definiert. Ein Interpreter {geschrieben<br />
in Pascal oder Prolog) führt Programme in Maschinensprache<br />
aus; damit ist zugleich eine Semantik der<br />
Maschinensprache gegeben.<br />
Im Rahmen eines Themas, das man früher unter "Hardware"<br />
eingereiht hätte, können bzw. müssenalso zentrale<br />
Begriffe der theoretischen <strong>Informatik</strong> problemorientiert<br />
entWickelt werden, die Schüler bringen sie in ein praktisches<br />
Programmierprojekt ein. In ähnlicher Weise ist dies<br />
mit den Themen Berechenbarkeit bzw. Entscheidbarkeit<br />
möglich, worauf hier aus Platzgründen nicht eingegangen<br />
werden kann.<br />
4.2 Zur Wahl der Programmiersprache<br />
Eine Programmiersprache ist nicht einfach ein Weg, den<br />
Computer zur Ausführung von Operationen zu veranlassen,<br />
sondern sie ist ein Medium, in dem wir unsere Vorstellungen<br />
über Verfahrensweisen <strong>und</strong> Prozesse ausdrücken.<br />
Süßmilch<br />
14