Fachdidaktische Aspekte der theoretischen Informatik Lehrerfortbildungsveranstaltung am FB Informatik Fachdidaktische Aspekte der theoretischen Informatik 12. GI-Fachtagung Informatik und Schule Didaktik der Informatik in Theorie und Praxis Christian Wagenknecht, Michael Hielscher Görlitz, am 26.10.07
Was haben wir heute vor? Informatiklehrpläne in D und Beispiel: Hessen Sächs. LP Ziele und Inhalte Probleme fachdidaktische Antworten und ein Feld für Erprobungen AtoCC – ohne AtoCC hat man keine Chance! Abschluss
Lehrplan Ziele und Inhalte In den meisten Bundesländern sind ausgewählte Inhalte der TI Lehrplaninhalt der Sek. II: Nr. Bundesland Lehrplaninhalt (Lernbereich) Pflichtbestandteil 1 Baden-Württemberg Bereich der theoretischen Informatik (Automaten, Berechenbarkeit) nein 2 Bayern 3. Formale Sprachen (noch Entwurf) 3 Berlin 4.4 Sprachen und Automaten ja (auch GK) 4 Brandenburg Bereich D 2: Automaten und formale Sprachen 5 Bremen Grundlagen der Theoretischen Informatik (Automaten, formale Sprachen) 6 Hamburg 7 Hessen Formale Sprachen und Grammatiken Automaten, Fakultativ: Übersetzerbau 8 Mecklenburg-Vorpommern 4. Sprachen und Automaten ja (auch GK) 9 Niedersachsen Eigenschaften endlicher Automaten Aspekte formaler Sprachen nein 10 Nordrhein-Westfalen Endliche Automaten und formale Sprachen 11 Rheinland-Pfalz Formale Sprachen und Automaten zur Sprachbeschreibung und Spracherkennung ja (nur LK) 12 Saarland Automaten und formale Sprachen Fakultativ: Übersetzerbau 13 Sachsen 8 A: Formale Sprachen, Kellerautomat, Akzeptor 14 Sachsen-Anhalt 15 Schleswig-Holstein Automaten als mögliches Themengebiet 16 Thüringen Themenbereich 7.3: Einblick in formale Sprachen
Lehrplanauszug Hessen Verbindliche Unterrichtsinhalte/Aufgaben: Formale Sprachen und Grammatiken reguläre und kontextfreie Grammatiken und Sprachen Anwendung mit Syntaxdiagrammen Chomsky-Hierarchie (LK) kontextsensitive Sprachen (LK) Endliche Automaten Zustand, Zustandsübergang, Zustandsdiagramm Zeichen, Akzeptor Simulation realer Automaten (z. B. Getränkeautomat) Anwendung endlicher Automaten (z. B. Scanner) deterministische und nicht-deterministische Automaten (LK) reguläre Ausdrücke (LK) Mensch-Maschine-Kommunikation (LK) Kellerautomaten (LK, GK fakultativ) Automat mit Kellerspeicher kontextfreie Grammatiken Klammerausdrücke, Rekursion Turing- oder Registermaschine Turing- oder registerberechenbar Churchsche These Computer als universelle symbolverarbeitende Maschine Verhältnis Mensch-Maschine Fakultative Unterrichtsinhalte/Aufgaben: Übersetzerbau Scanner, Parser, Interpreter und Compiler z. B. Steuersprache für Roboter, LOGO, Plotter oder miniPASCAL
Gefühlssituation der Lehrenden "TI wollte ich nie machen." "TI hat mich nie richtig interessiert." "TI war mir immer zu theoretisch und abstrakt." "Die TI-Dozenten waren suspekt – TI im postgradualen Studium erinnere ich mit Grausen." "Die TI-Inhalten helfen mir nicht, wenn das Schulnetzwerk mal wieder zusammenbricht." ...
Lernbereich 8 A (Sächs. Lehrplan) endlicher Automat GK Informatik f. Jahrgangsstufen 11 und 12, wird ab Schuljahr 2008/09 wirksam
Ausgangssituation für TI in der Schule Manche Lehrende mögen es nicht. Manche Lehrende können es nicht richtig. SchülerInnen/Studierende fragen gelegentlich: "Wann geht es denn nun endlich richtig los mit der Informatik? Ach so, das ist es schon." Lehrplaninhalt: Zeit-Inhalt-Relation bedenklich; lässt Kompetenzdefizite der Autoren vermuten "Ergebnis": Wenn möglich, TI weglassen. FALSCH!! Informatik wird nicht als Wissenschaft repräsentiert. (Kontrast zu Math., Nat.-wiss.) Konkret: Studienabbrecher!!!
TI an Hochschulen – NICHTS für Schulen Typischerweise: Begrifflich orientiert, deduktiv Zeichen, Alphabet, Wort, Verkettung, Wortmenge Sprache, formale Grammatik, Ableitung reguläre Sprachen: Chomsky-Typ-3-Grammatik, reguläre Ausdrücke, DEA, NEA, L(DEA)=L(NEA), Minimalautomat, diverse Sätze (Nerode/Myhill, Pumping Lemma, ...), ... kontextfreie Sprachen: Typ-2-Gr., DKA, NKA, L(DKA)<L(NKA), Transformation G >>> NKA (1 Zustand), diverse Sätze, ... ksS / unbeschr. Sprachen: Typ-1- und Typ-0-Grammatiken, Turing-Maschine (beschränkt/unbeschränkt) * Theorie der formalen Sprachen * Automatentheorie * Berechenbarkeitstheorie * Komplexitätstheorie
Schwächen dieses Vorgehens Geringe Motivation kfS (im Verbund mit rS) sind die für den Compilerbau wichtigste Sprachklasse – wird nicht gezeigt (evtl. in einem Extrakurs Compilerbau) Besser: Grundkonzepte des Compilerbaus konzeptionell thematisieren. Motivation aus der Praxis! Dies ist ohne Software-Hilfsmittel nicht möglich.
Unterrichtsplanung (14 Ustd.)
Simulationstool – Bildungsserver Hessen Didaktische Software in Schulen: diverse Simulationstools oder Lernumgebungen, wie Kara; meist von enthusiastischen LehrerInnen in Hochschulen: Systeme für die Lehre, wie JFLAP LEX und YACC für die Hand des Ingenieurs Simulationstool – Bildungsserver Hessen
Defizite existierender Systeme Systeme bzw. separate Module thematisieren Einzelaspekte nicht definitionskonform und/oder nicht an Lernprozessen orientiert, sondern die Prozess- Simulation dominiert Suggerieren abstrakten Automat als physikalisches Objekt Systeme können nur simple Beispiele bearbeiten – zu große Distanz zur Praxis
Lern- und Arbeitsumgebung für TI: Anforderungen ganzheitlicher Ansatz: Praxis Theorie Praxis, s. Lehrplanforderung einheitliche Bedienung der Module (für Automatentheorie und Sprachübersetzer) Handlungsorientierung auf hohen Abstraktionsniveaus (wenig technischer Ballast auch für anspruchsvolle Aufgabenstellungen)
Lern- und Arbeitsumgebung für TI: Anforderungen Selbstverantwortetes Lernen und Lerntyp- Bezug durch Angebot alternativer Arbeits- und Beschreibungsformen Binnendifferenzierung durch erweiterbare Aufgabenstellungen Beiträge des Lernenden durch Formulierung von Aufgabenstellungen/Musterlösungen Dokumentation der Arbeitsergebnisse mit hohe Darstellungsqualität
Modellierung des Übersetzungsprozesses mit "ausführbaren" T-Diagrammen AtoCC - Vom abstrakten Automaten zur automatisierten Entwicklung von Sprachübersetzern Typische Kopplung von Automatentheorie mit Aspekten des Compilerbaus (s. Lehrpläne) Wichtige didaktische Entscheidung: Zielsprache sollte nicht Maschinencode sein!! ein enger Bezug der Herstellung eines Sprachübersetzers zu den theoretischen Grundlagen erfordert hohe Abstraktion Modellierung des Übersetzungsprozesses mit "ausführbaren" T-Diagrammen Gekürzte Punkte: Visualisierung und deskriptives Vorgehen bei der Compilerentwicklung mit VCC automatisierte Umsetzung in lauffähigen Compiler Übersetzungsprozess im T-Diagramm = Rückkehr zur Modellierungsebene
Unterrichtsplanung: 1. Woche
ZR – eine Sprache für einen Zeichenroboter 17 Praxisnahe (echte!) Aufgabe mit grafischer Ausgabe: Entwickeln Sie einen Compiler, der die Sprache ZR (ZeichenRoboter) in PDF übersetzt. Eingabewort (in ZR): WH 36 [WH 4 [VW 100 RE 90] RE 10] Ausgabewort (in PS): %!PS-Adobe-2.0 /orient 0 def /xpos 0 def /ypos 0 def 0 0 0 setrgbcolor /goto { /ypos exch def /xpos exch def xpos ypos moveto} def /turn { /orient exch orient add def} def /draw { /len exch def newpath xpos ypos moveto /xpos xpos orient sin len mul add def /ypos ypos orient cos len mul add def xpos ypos lineto stroke } def 300 400 goto 100 draw 90 turn 100 … turn 10 turn 17