Vielen Dank an Vielen Dank an Herrn Thomas Lösler.
Blick in die Lehrpläne verschiedener Bundesländer Blick in die Lehrpläne verschiedener Bundesländer
Blick in die Lehrpläne verschiedener Bundesländer Blick in die Lehrpläne verschiedener Bundesländer
Die Schülerinnen und Schüler verstehen die zur Problemlösung eingesetzten Programmiersprachen als spezielle formale Sprachen, die es ihnen erlauben, Probleme mit den Methoden der Informatik zu lösen. Die Schülerinnen und Schüler verstehen die zur Problemlösung eingesetzten Programmiersprachen als spezielle formale Sprachen, die es ihnen erlauben, Probleme mit den Methoden der Informatik zu lösen. Hoffentlich nicht!!! Durch die Einführung des Automatenmodells vertiefen sie ihr Verständnis von Informatiksystemen. Naja, die LehrerInnen werden's schon machen!
Blick in die Lehrpläne verschiedener Bundesländer Blick in die Lehrpläne verschiedener Bundesländer Konkrete Inhalte: - totale Überfrachtung mit Fachinhalten
- TI-Kompetenz der LP-Autoren? (Fachsystematik, Formulierung von Wunschvorstellungen, ...)
"TI wollte ich nie machen." "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." ...
Zeit-Problem, Inhalte-Problem (Zusammenfassung von oben) Zeit-Problem, Inhalte-Problem (Zusammenfassung von oben) Manche Lehrende mögen es nicht. – Motivationsproblem Manche Lehrende können es nicht richtig. - Qualifikationsproblem SchülerInnen/Studierende fragen gelegentlich: "Wann geht es denn nun endlich richtig los mit der Informatik? Ach so, das ist es schon." - Vermittlungsproblem "Ergebnis": Wenn möglich, TI weglassen. FALSCH!!! Chance: Informatik als Wissenschaft repräsentieren! (wie Mathematik und Naturwissenschaften) Sonst: Studienabbrecher als konkrete Folge!!!
in Schulen: diverse Simulationstools oder Lernumgebungen, wie Kara; meist von enthusiastischen LehrerInnen entwickelt in Schulen: diverse Simulationstools oder Lernumgebungen, wie Kara; meist von enthusiastischen LehrerInnen entwickelt in Hochschulen: Systeme für die Lehre, wie JFLAP LEX und YACC für die Hand des Ingenieurs
Systeme bzw. separate Module thematisieren Einzelaspekte 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
"Lernumgebungen werden so gestaltet, dass sie das selbst gesteuerte Lernen von Schülerinnen und Schülern fördern. Sie unterstützen durch den Einsatz von Medien sowie zeitgemäßer Kommunikations- und Informationstechnik sowohl die Differenzierung individueller Lernprozesse als auch das kooperative Lernen. Dies trifft sowohl auf die Nutzung von multimedialen und netzbasierten Lernarrangements als auch auf den produktiven Umgang mit Medien zu. "Lernumgebungen werden so gestaltet, dass sie das selbst gesteuerte Lernen von Schülerinnen und Schülern fördern. Sie unterstützen durch den Einsatz von Medien sowie zeitgemäßer Kommunikations- und Informationstechnik sowohl die Differenzierung individueller Lernprozesse als auch das kooperative Lernen. Dies trifft sowohl auf die Nutzung von multimedialen und netzbasierten Lernarrangements als auch auf den produktiven Umgang mit Medien zu. Moderne Lernumgebungen ermöglichen es den Lernenden, eigene Lern- und Arbeitsziele zu formulieren und zu verwirklichen sowie eigene Arbeitsergebnisse auszuwerten und zu nutzen."
ganzheitlicher Ansatz: Praxis Theorie Praxis, s. Lehrplanforderung 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)
Selbstverantwortetes Lernen und Lerntyp-Bezug durch Angebot alternativer Arbeits- und Beschreibungsformen 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
Typische Kopplung von Automatentheorie mit Aspekten des Compilerbaus (s. Lehrpläne) 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
Installationshinweise: Installationshinweise: - Installieren Sie .NET Framework 2.0 oder höher (unter www.atocc.de Fortbildung Software)
- Installieren Sie GhostScript 8.60
- Installieren Sie „AtoCC Setup.exe“
- Wenn nicht vorhanden einen PDF Reader (Adobe Reader oder Foxit Reader) installieren.
- (Wenn noch nicht vorhanden MSXML 4 oder 6 installieren. Downloadseite wird von AutoEdit automatisch beim ersten Start geöffnet, wenn dies fehlen sollte.)
Wir wollen zunächst den Compilerprozess entwerfen. (Modellierung) Wir wollen zunächst den Compilerprozess entwerfen. (Modellierung) Verwendung von T-Diagrammen: - T-Diagramme bestehen aus 4 Bausteintypen.
- Compilerbaustein, Programmbaustein, Interpreterbaustein und Ein/Ausgabe-Baustein
Entwerfen eines T-Diagramms für Zeichenroboter Compiler: Entwerfen eines T-Diagramms für Zeichenroboter Compiler: ZR2PS werden wir entwickeln, PS2PDF und Acrobat Reader wird vom System bereitgestellt.
Nachdem wir nun wissen, wie unser Compiler später eingesetzt werden soll, wenden wir uns der Entwicklung des Compilers zu. Nachdem wir nun wissen, wie unser Compiler später eingesetzt werden soll, wenden wir uns der Entwicklung des Compilers zu. - Sprache näher betrachten
- Terminale und Nichterminale festlegen
- formale Grammatik definieren
- Ableitungsbäume erzeugen
Betrachten wir die Sprache ZR und versuchen wir ihren Aufbau zu beschreiben: Betrachten wir die Sprache ZR und versuchen wir ihren Aufbau zu beschreiben: - VW 50
- RE 270
- WH 2 [VW 100]
- WH 4 [VW 100 RE 100]
- WH 36 [WH 4 [VW 100 RE 90] RE 10]
Magnetkarten an der Tafel
Beschreiben wir den Baustein Zahl genauer: Beschreiben wir den Baustein Zahl genauer: - 0 soll keine Zahl in ZR sein, da VW 0 oder RE 0 keine Veränderung herbeiführen.
- Vorangestellte Nullen wie 0815 wollen wir auch nicht erlauben.
Ergänzen wir unsere Grammatik um: - Zahl ErsteZiffer Ziffern
- Ziffern Ziffer Ziffern |
- Ziffer 0 | 1 | ... | 9
- ErsteZiffer 1 | 2 | ... | 9
Programm Anweisungen Programm Anweisungen Anweisungen Anweisung Anweisungen | EPSILON | RE Zahl | WH Zahl [ Anweisungen ] | STIFT Zahl Farbwert rot | blau | gruen | gelb | schwarz Zahl ErsteZiffer Ziffern Ziffern Ziffer Ziffern | EPSILON Ziffer 0 | 1 | ... | 9 ErsteZiffer 1 | 2 | ... | 9
Automaten als Akzeptoren für Sprachen Automaten als Akzeptoren für Sprachen - Akzeptor prüft, ob ein Wort zur Sprache gehört oder nicht. (Keine Ausgabe Wort akzeptiert) (Thema: Programmiersprachen und Syntaxfehler)
- Wir nehmen zwei Ausschnitte aus den Produktionen:
- Zahl ErsteZiffer Ziffern
- Ziffern Ziffer Ziffern | EPSILON
- Ziffer 0 | 1 | ... | 9
- ErsteZiffer 1 | 2 | ... | 9
- Anweisungen Anweisung Anweisungen | EPSILON
- Anweisung VW Zahl | WH Zahl [ Anweisungen ]
Kleiner Sprachausschnitt: Kleiner Sprachausschnitt: Zahl ErsteZiffer Ziffern Ziffern Ziffer Ziffern | EPSILON Ziffer 0 | 1 | ... | 9 ErsteZiffer 1 | 2 | ... | 9
Anweisungen Anweisung Anweisungen | EPSILON Anweisungen Anweisung Anweisungen | EPSILON Anweisung VW n | WH n [ Anweisungen ]
Aus der Kombination von kleinen endlichen Automaten und einem Kellerautomat wird später unser Compiler bestehen. - Aus der Kombination von kleinen endlichen Automaten und einem Kellerautomat wird später unser Compiler bestehen.
- Für DEA-Sprachen können auch reguläre Ausdrücke verwendet werden: Beispiel Zahl: [1-9][0-9]*
Programm Anweisungen Programm Anweisungen Anweisungen Anweisung Anweisungen | EPSILON Anweisung VW Zahl | RE Zahl | WH Zahl [ Anweisungen ] | FARBE Farbwert | STIFT Zahl Farbwert : rot|blau|gruen|gelb|schwarz Zahl : [1-9][0-9]*
Endliche Automaten (RegExp) für alle unsere Terminale: Endliche Automaten (RegExp) für alle unsere Terminale: KlammerAuf : \[ KlammerZu : \] Wiederhole : WH Rechts : RE Vor : VW Stift : STIFT Farbe : FARBE Farbwert : rot|blau|gruen|gelb|schwarz Zahl : [1-9][0-9]*
Entwicklung des ZR2PS Compilers in VCC Entwicklung des ZR2PS Compilers in VCC - Übertragen der EA in die Scannerdefinition
- Übertragen der vereinfachten Grammatik in die Parserdefinition
- Entwickeln sogenannter S-Attribute für die Zielcodegenerierung
Zielcodegenerierung: Zielcodegenerierung: - Der Compiler soll PostScript erstellen nicht nur #true und #false ausgeben.
- Entwicklung von S-Attributen
- S-Attribute sind kleine Quelltextfragmente die für jede rechte Regelseite definiert werden können.
- Wird eine Regel angewendet wird auch das entsprechende Quellcodefragment ausgeführt.
Die Platzhalter $1 bis $n: Die Platzhalter $1 bis $n: In S-Attributen verwenden wir Platzhalter für die Ergebnisse der einzelnen Regelbausteine.
Die Platzhalter $1 bis $n: Die Platzhalter $1 bis $n: In S-Attributen verwenden wir Platzhalter für die Ergebnisse der einzelnen Regelbausteine.
Anwenden des Compilers auf der Modellierungsebene der T-Diagramme in TDiag. Anwenden des Compilers auf der Modellierungsebene der T-Diagramme in TDiag.
Do'stlaringiz bilan baham: |