Peter Moser, 9760209 - Professur für Didaktik der Informatik

Transcrição

Peter Moser, 9760209 - Professur für Didaktik der Informatik
Hauptseminar "Didaktik der Informatik" im SoSe 2006 an der Universität Klagenfurt
Leitung: Prof. Dr. Peter Hubwieser
Komplexitäts- und Berechenbarkeitstheorie im
Informatikunterricht?
Diskussion des Bildungswertes und möglicher Lernwege
Hauptseminar: Didaktik der Informatik
Univ. Prof. Dr. Peter Hubwieser
SS 2006, Universität Klagenfurt
Autor: Dipl.-Ing. Peter Moser
Matr.-Nr.: 9760209
Abstract: Die Komplexitäts- und Berechenbarkeitstheorie als theoretische
Grundlage der Informatik sollte unbedingt auch im schulischen Unterricht
behandelt werden. In den aktuellen Lehrplänen kommt sie jedoch so gut wie nicht
vor. Wird sie dennoch im Unterricht behandelt, so müssen einige didaktische
Überlegungen und Reduktionen beachtet werden. Außerdem eignet sich nicht jede
Schulstufe für dieses komplexe Thema. Als Beispiel einer Unterrichtssequenz
werden zwei Sortieralgorithmen vorgestellt und dann auf ihr Laufzeitverhalten
hin untersucht.
1
Einleitung
Das Ziel der Komplexitäts- und Berechenbarkeitstheorie ist es, Aussagen über den
Aufwand bei Berechnung von algorithmischen Problemen machen zu können. Es
handelt sich dabei um grundlegende theoretische Aspekte der Informatik.
In Kapitel 2 gehe ich darauf ein, ob es in der Schule notwendig ist, das Thema
Komplexitäts- und Berechenbarkeitstheorie zu behandeln – und wie weit dies bereits
jetzt schon geschieht.
Kapitel 3 liefert Überlegungen zu Besonderheiten bei der Vermittlung dieses Stoffes an
Schülerinnen und Schüler und Vorschläge, welche Schulstufen überhaupt dafür geeignet
wären. Außerdem wird eine mögliche Unterrichtssequenz vorgestellt.
Eines vorweg: die Diskrepanz zwischen Notwendigkeit der Behandlung der
Komplexitätstheorie, aktuellen Lehrplänen und tatsächlichem Unterricht ist sehr groß…
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-1-
2
2.1
Komplexitäts- und Berechenbarkeitstheorie in der Schule
Notwendigkeit der Behandlung im Unterricht
Es stellt sich die Frage, ob die Komplexitäts- und Berechenbarkeitstheorie im Unterricht
behandelt werden soll. Das hängt wohl davon ab, ob es sich dabei um ein wichtiges
Kerngebiet der Informatik handelt oder vielleicht doch nur um eine Disziplin für
Theoretiker.
Die Komplexitätstheorie ermöglicht es, Aussagen über die Durchführbarkeit von
Algorithmen bzw. über die Existenz eines Algorithmus zur Lösung eines bestimmten
Problems zu machen. Bei nicht-trivialen Problemen ist es von Bedeutung zu wissen, ob
eine Lösung existiert und ob diese Lösung in angemessener Zeit berechnet werden kann.
Somit haben die Ergebnisse der Komplexitätstheorie konkrete Auswirkungen auf die
Entwicklung von Algorithmen für praktische Anwendungen. [Weg03]
Die Berechenbarkeitstheorie beschäftigt sich mit der Frage, ob für konkrete Aufgaben
überhaupt Lösungen existieren (können). Noch vor einigen Jahrzehnten herrschte der
(Irr-)Glaube, dass es irgendwann für alle denkbaren Problemstellungen auch
angemessene Lösungen geben würde. Dass dem nicht so ist, kann die Berechenbarkeitstheorie zeigen. [Smi96]
Meiner Meinung nach ergibt sich daraus die Notwendigkeit des Einbaus der
Komplexitäts- und Berechenbarkeitstheorie in den schulischen Unterricht. Ein logisch
korrekt aufgebauter Unterricht muss doch mit der Frage beginnen: „Welche Probleme
kann ich lösen, und welche nicht“ – erst danach kann man sich daran wagen, bestimmte
Aufgabenstellungen konkret zu lösen. So zu tun, als wüsste man für alle Probleme eine
Lösung, und einige davon werden sogar in der Schule durchgenommen, das wäre ein
Vorgaukeln von Halbwahrheiten.
Die theoretische Informatik konzentriert sich naturgemäß auf die grundlegenden
Konzepte der Informatik. Damit entfällt einerseits das Problem der ständigen
Aktualisierung des Lernstoffes, andererseits ergibt sich der Vorteil, dass die Ergebnisse
des Lernprozesses automatisch längerfristig Bestand haben. [Mod92]
Ein weiterer Pluspunkt für das Behandeln der Thematik im Schulunterricht ist, dass
keine Programmierkenntnisse vorausgesetzt sind, um Berechenbarkeitstheoretische
Überlegungen anzustellen. Damit ist man jedoch auch gleichzeitig bei einem
Minuspunkt angelangt: die notwendige Vertrautheit mit formalen mathematischen
Argumentationen ist wohl in aller Regel an unseren Schulen nur ansatzweise
vorzufinden. [Smi96]
Im Übrigen ist es intellektuell gehaltvoller, auf einer Metaebene über die Lösbarkeit von
Problemen zu diskutieren, als zu versuchen, einzelne Probleme konkret zu lösen.
In den 90er Jahren gab es eine Krise des Informatikunterrichts, die in einer zu starken
Algorithmus-Orientierung begründet war. Seit dieser Zeit findet ein Umdenken statt:
Algorithmen werden eher als der Ingenieurwissenschaftliche Teil der Informatik
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-2-
angesehen. Gymnasiale, reine Informatik sollte darüber stehen – theoretische Informatik
also. [Hub04]
Andererseits muss natürlich festgehalten werden, dass die theoretische Informatik alleine
zu abstrakt und damit für den Schulunterricht unbrauchbar ist. Daher sollte auf keinen
Fall auf dazupassende Beispiele am Rechner verzichtet werden – was auch eine
Schulung beispielsweise in einer Programmiersprache voraussetzt. [Hub04]
2.2
Integration in bestehenden Lehrplänen
Um einen Überblick über in den Lehrplänen österreichischer Schulen eventuell bereits
vorhandener Inhalte zum Thema Komplexitäts- und Berechenbarkeitstheorie zu bieten,
habe ich folgende drei Lehrpläne überprüft:
•
Lehrplan der Allgemeinbildenden Höheren Schulen, 5. Klasse (Pflichtfach
Informatik)
•
Lehrplan der Allgemeinbildenden Höheren Schulen, 6. - 8. Klasse
(Wahlpflichtfach Informatik)
•
Lehrplan der Höheren Lehranstalt für Elektronische Datenverarbeitung und
Organisation / Zweig Kommerzielle Datentechnik
In den folgenden drei Unterkapitel gehe ich jeweils nur auf die für unser Thema
relevanten Fächer ein (z.B. Mathematik, Informatik usw.).
2.2.1
Allgemeinbildende Höhere Schulen, 5. Klasse
In den allgemeinen Bildungszielen findet sich unter „Bildungsbereich Natur und
Technik“ folgender interessante Absatz: „Der Unterricht hat daher grundlegendes
Wissen, Entscheidungsfähigkeit und Handlungskompetenz zu vermitteln. […] Als für
die Analyse und Lösung von Problemen wesentliche Voraussetzungen sind
Formalisierung, Modellbildung, Abstraktions- und Raumvorstellungsvermögen zu
vermitteln.“ [Web01]
Unter „Bildungs- und Lehraufgabe“ liest sich folgender Absatz: „Es ist eine wesentliche
Aufgabe des Informatikunterrichts, Schülerinnen und Schülern informatische und
informationstechnische Grundkenntnisse zu vermitteln, um sie zu befähigen, diese zur
Lösung einer Problemstellung sicher und kritisch einzusetzen.“ [Web02]
Die Begriffe „Entscheidungsfähigkeit“, „Formalisierung“, „Problemstellung sicher und
kritisch lösen“ implizieren eigentlich so etwas wie Komplexitäts- und
Berechenbarkeitstheorie. Von den Bildungszielen ausgehend sollte unser Thema in der
5. Klasse der AHS durchgenommen werden. [Web02]
Betrachtet man jedoch die Vorgabe für den Lehrstoff, so gibt man diese Hoffnung
schnell wieder auf: neben viel Informationsdarstellung, multimedial Präsentieren,
vernetzte Informationssysteme, Umgang mit Standardsoftware, Kalkulationsmodellen,
Datensicherheit und Urheberrecht kommt noch der folgende Punkt vor: „technische und
theoretische Grundlagen gewinnen und Grundprinzipien von Automaten, Algorithmen
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-3-
und Programmen kennen lernen“. Wenn man bedenkt dass dies alles in einem Jahr – mit
2 Unterrichtsstunden – abgehandelt werden soll, dann ist völlig klar, dass für die
Komplexitätstheorie wohl kein Raum – bzw. keine Zeit – bleiben wird… [Web02]
2.2.2
Allgemeinbildende Höhere Schulen, 6. - 8. Klasse
In der 6., 7. und 8. Klasse wird Informatik lediglich als Wahlpflichtfach angeboten –
daher stehen hier auch keine Lehrpläne zur Verfügung. Aus eigener Erfahrung kann ich
jedoch sagen, dass hier meist Anwendungsschulung oder Programmierung mit den
Schülerinnen und Schülern behandelt wird. Unser Thema Komplexitätstheorie kommt
hier so gut wie überhaupt nicht vor.
2.2.3
Höhere Lehranstalt für Elektronische Datenverarbeitung
Im Lehrplan der Höheren Lehranstalt für Elektronische Datenverarbeitung findet sich
folgende Stundenaufteilung:
Fach
1. Klasse
2. Klasse
3. Klasse
4. Klasse
5. Klasse
Mathematik
4
4
3
2
2
Grundlagen der
EDV
4
5
Programmieren
4
7
4
3
2
Betriebssysteme
3
3
2
Angewandte
Datentechnik
4
Tabelle 1: Stundenübersicht der HTL für Elektronische Datenverarbeitung [Web03]
Im Fach „Mathematik“ kommt der Begriff „Fehlerabschätzung und –fortpflanzung“ vor,
dies könnte im weitesten Sinne mit Komplexitätsberechnungen zu tun haben.
Im Fach „Grundlagen der EDV“ werden völlig andere Themen als Komplexitätstheorie
behandelt, z.B. Datenträger, Hardware, Zahlensysteme, Aussagenlogik.
Das Fach „Programmieren“ behandelt Themen wie Problemanalyse, Modellbildung,
Kodieren, Testen, Modularisierung, u.v.m. Komplexitätstheorie kommt nicht vor.
Im Fach „Betriebssysteme“ sind ebenfalls völlig andere Themen als Komplexitätstheorie
vorgesehen.
Im Fach „Angewandte Datentechnik“ geht es um die Datenmodellierung, Datenbanken
und deren Anwendungen. Mit Komplexitätstheorie hat das nichts zu tun. [Web03]
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-4-
In der HTL für Elektronische Datenverarbeitung wird also nirgendwo planmäßig die
Komplexitätstheorie behandelt – trotz sehr vieler EDV-Stunden und vieler technischer
Details, welche behandelt werden.
3
3.1
Behandlung im Unterricht
Didaktische Überlegungen
Komplexitätstheorie liefert Metaergebnisse – entweder ist ein Problem in angemessener
Zeit lösbar, oder eben nicht. In beiden Fällen liegt keine Lösung für das Problem vor.
Das ist ein negativer Touch, der die Komplexitätstheorie begleitet. Um die Thematik
nicht unnötig negativ zu betrachten und zu vermitteln, empfiehlt es sich, wo immer es
möglich ist, eine algorithmische Sichtweise und konkrete Lösungen in den Unterricht
einzubauen. Das bringt neben einer positiven Grundstimmung den Vorteil mit sich, dass
die Schülerinnen und Schüler durch praktische Beispiele einen besseren Zugang zum
Thema finden können. [Weg03]
Das Aufzeigen der Grenzen von Computern im Unterricht kann auf verschiedene
Weisen erfolgen: einerseits tief mathematisch, andererseits könnte darüber diskutiert
werden, in welchen Gebieten Computer gut einsetzbar erscheinen bzw. überhaupt nicht
geeignet sind. Natürlich sind zwischen diesen beiden Extrema alle Abstufungen denkbar,
für den Unterricht sind – je nach Schulstufe – eher die weniger mathematischen
Varianten zielführender, zumal konkrete Fallbeispiele auch aus der Lebenswelt der
Schülerinnen und Schüler behandelt werden könnten. [Mod91]
Um unseren Schülerinnen und Schüler die Probleme, die die theoretische Informatik
aufzeigt, verständlich zu vermitteln zu können sollten vor allem grafische Darstellungen
verwendet werden. In der folgenden Abbildung beispielsweise ist gut ersichtlich, wie
sich die verschiedenen Komplexitätsklassen zeitlich verhalten.
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-5-
Abbildung 1: Polynomiales und exponentielles Wachstum [Har02]
Im Unterricht müssen zu den einzelnen Klassen natürlich Fallbeispiele gefunden werden,
um einen Bezug zur realen Welt herzustellen und zu zeigen, dass es solche Fälle
tatsächlich gibt.
3.2
Mögliche didaktische Reduktionen
Es stellt sich die Frage, warum Lehrstoff überhaupt reduziert werden muss. Wird
Unterrichtsstoff erarbeitet, so wird dieser immer – und zwar mehrstufig – reduziert,
bevor er in die Köpfe der Schüler gelangt. Wir betrachten dazu die folgende Abbildung:
Abbildung 2: Unterrichtsstoffreduktionsmodell [GG85]
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-6-
Die Menge A sei die Grundmenge, also die Menge an Stoff, die Schüler zu einem
bestimmten Thema lernen könnten. Die Menge A wird nun durch den Wissensstand des
Lehrers zu diesem Thema eingeschränkt, es entsteht eine kleinere Menge B. Der Lehrer
entscheidet nun aufgrund verschiedenster Kriterien (verfügbare Zeit, Einschätzung der
Schüler, usw.) welcher Teil dieser Menge B im Unterricht behandelt werden soll – das
entspricht Menge C. Im tatsächlich stattfindenden Unterricht kommt jedoch wieder nur
ein Teil dieses Stoffes zum tragen, da ja der Ablauf des Unterrichts von vielerlei
Variablen abhängt, die im Vorhinein oftmals unbekannt sind. [GG85]
Die Frage ist nun, wie man den Stoff der Komplexitäts- und Berechenbarkeitstheorie
schülergerecht aufbereiten bzw. besser gesagt „herunter brechen“ kann. Aufgrund der
unleugbaren Nähe zum Fach Mathematik kann man vorerst die Erfahrungen aus diesem
Fach berücksichtigen: Es ist für Schülerinnen und Schüler viel wichtiger, Denkprozesse
zur Entwicklung von Lösungsschemata zu trainieren, einen hantierbaren
Unendlichkeitsbegriff zu erhalten sowie die Bedeutung von Grenzwertmethoden zu
erkennen, als etwa das Ausführen von Berechnungen (was ja sogar Computer besser und
schneller können). [Mod91]
Theoretische Informatik als logisches System betrachtet, in dem von bestimmten
Grundannahmen ausgehend Folgerungen gezogen und auch bewiesen werden können, ist
für einen Schulunterricht gänzlich ungeeignet. Benutzt man hingegen nur die Notationen
der theoretischen Informatik wie etwa Transitionsgraphen der endlichen Automaten oder
die formalen Grammatiken, dann erhält man höchst effiziente Beschreibungsmittel für
zustandsabhängige Systeme. Durch die Erweiterung der Modelle zu Kellerautomaten
und Turingmaschinen sind Fragestellungen zu prinzipiellen Grenzen von Computern
möglich. Theoretische Informatik an der Schule ist nicht mit Hochschul-Theorie gleich
zu setzen. Um die Schüler nicht zu überfordern, sollte auf alle Fälle aktive Schülerarbeit
bevorzugt werden. [Mod91]
Als anschauliche Beispiele mit der Möglichkeit von Reduktion bieten sich
Sortieralgorithmen an: Diverse Algorithmen können ausprogrammiert werden und
ausprobiert werden. Bei Algorithmen mit exponentiellen Abhängigkeiten werden die
Schülerinnen und Schüler schnell merken, dass ihr noch so schneller Computer an seine
Grenzen stößt. Je nach Schulstufe und mathematischen Kenntnissen kann man dieses
Verhalten dann grafisch veranschaulichen oder einen Schritt weiter gehen und
Berechnungen dazu anstellen.
Die Schülerinnen und Schüler sollen merken, dass es Problemstellungen gibt, wo es
praktisch keinen Unterschied macht, ob man 10mal so schnelle oder 1000mal so schnelle
Computer verwendet – wenn dadurch etwa die Rechenzeit von 10000 auf 1000 Jahren
sinken würde… [Mod91]
3.3
Geeignete Schulstufen
Der Informatikunterricht in Österreichs Schulen läuft laut Prof. Mittermeir in Österreichs
Schulen folgender Maßen ab: „Ein wenig Anwendung vermischt mit ein wenig Theorie,
beides nach Geschmack abmischen. […] Na ja. Wurde vor der Zubereitung gefragt, wer
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-7-
der Gast ist. Nach seinem Alter? Wie fest die Zähne sind, mit denen die Nüsse
aufgebissen werden sollen?“
Der bildungsfähige Mensch entwickelt erst im Laufe der Zeit bestimmte kognitive
Fähigkeiten, die für das Verständnis solcher technischer Problemstellungen benötigt
werden.
Aufgrund des relativ jungen Alters der Schulinformatik liegen hier kaum
Erfahrungswerte vor, ab welchem Alter welche Inhalte nachhaltig gut vermittelt werden
können. [Mit03]
Es kann jedoch festgestellt werden, dass in unteren Schulstufen eher Fallbeispiele
behandelt werden sollen, in höheren Schulstufen kann dann aufgrund der besseren
Mathematik-Kenntnisse der Schülerinnen und Schüler auch auf technische Details und
Berechnungen eingegangen werden. Dies hat für den Anfangsunterricht den zusätzlichen
Vorteil, dass man ohne Programmierkenntnissen auskommt. [Mod91]
Detaillierte Hinweise darauf, in welchen Schultypen, in welchen Jahrgängen und in
welchen Fächern welche Konzepte wie einsetzt werden sollen, konnte ich in keiner der
von mir durchsuchten Quellen finden. Wie es scheint, liegen hier noch zu wenig
messbare Erfahrungswerte vor.
3.4
Beispiel einer Unterrichtssequenz
Die folgende Unterrichtssequenz soll die Schülerinnen und Schüler in die Thematik der
Komplexitätstheorie einführen. Dazu werden zwei Sortieralgorithmen untersucht, der
eine mit Komplexität O(n²), der andere mit O(n x log(n)).
Die folgende Unterrichtssequenz wurde von meiner Person erdacht, da in der Literatur
kaum
fertige
Unterrichtssequenzen
zum
Thema
Komplexitätsund
Berechenbarkeitstheorie zu finden sind. Für eine zeitliche Planung sind mehrere
Doppelstunden für die Durchführung anzusetzen. Es folgt eine Beschreibung des
Ablaufs:
Zuerst werden die beiden Algorithmen Bubblesort und Mergesort erklärt, grafisch
aufbereitet durchexerziert, über Vor- und Nachteile diskutiert.
Danach werden zwei Programme erstellt, das erste sortiert eine Liste von 100
Zufallszahlen mittels Bubblesort, das zweite sortiert eine Liste von 100 Zufallszahlen
mittels Mergesort.
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-8-
Abbildung 3: Codebeispiel für einen Bubblesort-Algorithmus [OW96]
Abbildung 4: Codebeispiel für einen Mergesort-Algorithmus [OW96]
In obigen Abbildungen sind
Sortieralgorithmen dargestellt.
Codebeispiele
zu
den
beiden
verwendeten
Dann bauen die Schülerinnen und Schüler Zähler für die Anzahl der Vergleiche und die
dafür benötigte Zeit ein.
Eine übersichtliche, tabellarische Darstellung der gewonnen Daten dient als
Diskussionsgrundlage über die bestehenden Zusammenhänge und Unterschiede
zwischen den Algorithmen.
Bubblesort
Mergesort
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
-9-
# Elemente
# Vergleiche
Benöt. Zeit
[sek]
# Vergleiche
Benöt. Zeit
[sek]
100
10000
1
200
0,02
Tabelle 2: Vergleich von Sortieralgorithmen
Es bleibt zu erwarten, dass viele Schülerinnen und Schüler die wenigen Millisekunden
Zeitunterschied als „minimal“ oder „unwesentlich“ abtun werden. Jetzt ist der Zeitpunkt
gekommen, wo man statt 100 Zufallszahlen 100.000 oder 10 Mio. Zufallszahlen
sortieren lässt.
Jetzt sind wir am Knackpunkt der Unterrichtseinheit angelangt – beim Probieren der
beiden Algorithmen wird der extreme Unterschied zwischen den beiden
Komplexitätsklassen deutlich.
Die Schülerinnen und Schüler werden staunen, wenn Mergesort nach beispielsweise 20
Sekunden fertig ist, und Bubblesort nach einer halben Stunde mit der gleichen Menge an
Zahlen noch immer nicht fertig ist…
Bubblesort
Mergesort
# Elemente
# Vergleiche
Benöt. Zeit
[sek]
# Vergleiche
Benöt. Zeit
[sek]
100
10000
1
200
0,02
100000
10000000000
1000000
500000
5
Tabelle 3: Vergleich von Sortieralgorithmen (erweitert)
Noch erstaunter werden unsere Schülerinnen und Schüler sein, wenn sie sehen dass
Bubblesort auch nicht nach 1 Stunde oder nach 5 Stunden fertig sein wird – sondern für
unsere 100.000 zu sortierenden Einträge sage und schreibe 11,5 Tage brauchen wird.
Als Abschluss sollen die Schülerinnen und Schüler noch die von den beiden
Algorithmen benötigte Zeit berechnen, um 10 Mio. Zufallszahlen zu sortieren.
Zur Abrundung sollte die Lehrerin bzw. der Lehrer ein paar praktische Anwendungsfälle
parat haben, um den Schülerinnen und Schülern die praktische Bedeutung solcher
Aufgabenstellungen zu verdeutlichen.
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
- 10 -
4
Zusammenfassung und Ausblick
Die Komplexitäts- und Berechenbarkeitstheorie stellt eine der theoretischen Grundlagen
der Informatik dar und sollte unbedingt auch im schulischen Unterricht behandelt
werden. Da sie in den aktuellen Lehrplänen so gut wie nicht vorkommt, besteht hier
akuter Handlungsbedarf. Allerdings muss man sich darüber im Klaren sein, dass man
vom universitären Niveau Abstriche machen muss und die Komplexitäts- und
Berechenbarkeitstheorie auf einem abstrakteren Level behandeln sollte. Das für
Schülerinnen und Schüler wichtige an der Thematik ist das Bewusstsein, dass selbst
Computer ihre Grenzen haben und es Probleme gibt, die nicht mit Computern zu lösen
sind.
5
Literaturverzeichnis
[Brä03]
Markus Brändle et. al. Kara: ein theoriebasierter Ansatz für Lernumgebungen
zu fundamentalen Konzepten der Informatik. In: Peter Hubwieser.
Informatische Fachkonzepte im Unterricht, GI-Edition, Infos 2003. Köllen
Druck+Verlag GmbH, 2003.
[GG85]
Jochen und Monika Grell. Unterrichtsrezepte. Beltz Verlag, 1985.
[Har02]
David Harel. Das Affenpuzzle und weitere bad news aus der Computerwelt.
Springer Verlag, 2002.
[Mit03]
Prof. Dr. Roland Mittermeir. Schulinformatik – ein Fach oder ein Gebiet? In:
Anton Reiter et. al. Schulinformatik in Österreich. Ueberreuter Verlag, 2003.
[Mod91]
Eckart Modrow. Zur Didaktik des Informatik-Unterrichts, Band 1: Ziele und
Inhalte, Anfangsunterricht, Beispiele und Anwendungen. Ferd. Dümmlers
Verlag, 1991.
[Mod92]
Eckart Modrow. Zur Didaktik des Informatik-Unterrichts, Band 2:
Gesellschaftliche Auswirkungen, Fachunterricht, Abitur. Ferd. Dümmlers
Verlag, 1992.
[OW96]
T. Ottmann, P. Widmayer. Algorithmen und Datenstrukturen, 3. Auflage.
Spektrum Akademischer Verlag, 1996.
[Rei99]
K. Rüdiger Reischuk. Komplexitätstheorie, Band I: Grundlagen. Teubner
Stuttgart, Leibzig, 1999.
[Smi96]
Dr. Einar Smith. Elementare Berechenbarkeitstheorie. Springer-Verlag
Berlin Heidelberg, 1996.
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
- 11 -
[Web01]
Lehrplan der AHS. Website des Bundesministeriums für Bildung,
Wissenschaft, Kultur:
http://www.bmbwk.gv.at/medienpool/11668/lp_ahs_neu_allg.pdf. 2006.
[Web02]
Lehrplan für Informatik 5. Klasse, AHS. Website des Bundesministeriums
für Bildung, Wissenschaft, Kultur:
http://www.bmbwk.gv.at/medienpool/11866/lp_neu_ahs_14.pdf. 2006.
[Web03]
Lehrplan der Höheren Lehranstalt für Elektronische Datenverarbeitung und
Organisation, Website:
http://www.berufsbildendeschulen.at/upload/406_DVOrg.doc. 2006.
[Web04]
Stundenübersicht. Website
Wissenschaft, Kultur:
des
Bundesministeriums
für
Bildung,
http://www.bmbwk.gv.at/medienpool/9431/VO_LP_AHS03.pdf. 2006.
[Weg03]
Prof. Dr. Ingo Wegener. Komplexitätstheorie – Grenzen der Effizienz von
Algorithmen. Springer-Verlag Berlin Heidelberg, 2003.
HS DDI, SS 2006, Prof. Peter Hubwieser – DI Peter Moser, Universität Klagenfurt
- 12 -