43
Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Embed Size (px)

Citation preview

Page 1: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Theorie

Wieso muss es Informatikunterricht in einer Schule geben ?

Page 2: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Informatik ist weit verbreitet

Wie viele andere Wissenschaften (Mathematik, Physik… ) ist die Informatik in viele Aspekte des alltäglichen Lebens eingebettet. Deswegen sollte man zumindest oberflächliche Kenntnisse in dem Gebiet gewinnen.

Page 3: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Die Komplexität der Informatik bewusst machen

Nachdem man die einfachen Grundprinzipien der Informatik erlernt hat und mehr Selbstvertrauen auf diesem Gebiet gewonnen hat, muss man sich näher mit ihr vertraut machen und sein Wissen vertiefen. So kann man erfahren, welche Voraussetzungen z.B. ein Informatikstudium mit sich bringt u. a.:

Page 4: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Bewusst machen, über die Komplexität der Informatik

Den Schülern muss klar werden:

Informatik ist nicht (nur) Word und Excel oder Internet. Die Informatik ist viel komplexer und komplizierter.

Page 5: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Einschränkung

Maschinen und Automaten

Page 6: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Was hilft uns das Verstehen des Automatenverhaltens ?

Besser im Alltag zu Recht zu kommen.

Mehr Selbstvertrauen im Umgang mit Automaten gewinnen.

Das Grundprinzip der Eingabe und Ausgabe zu verstehen.

Page 7: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Was hilft uns das Verstehen des Automatenverhaltens ?

Erlernen der spezifischen Denkweise der Informatiker (Programmierer):

Verschiedene Maschine werden aus einem, für den Schüler neuen

Gesichtspunkt besprochen; Die Schüler werden das Denken im

Großen und Kleinen kennenlernen

Page 8: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Voraussetzungen

Vorkenntnisse der Schüler:Die Schüler sollten Programmierkenntnisse haben, um später gewonnenes Wissen über die Automaten auch implementieren zu können.Weiteres Problem: Die Automatentheorie könnte für informatisch weniger Interessierte zu theoretisch und damit evtl. abschreckend wirken. Daher ist eine Einführung in die Automatentheorie zu Beginn des Kurses, also Anfang der Jgst. 11 mit dem Risiko behaftet, dass einige Schüler, die sich etwas anderes unter „Informatik“ vorgestellt haben, das Fach wieder abwählen.Geeignet wäre eine Einführung der Automatentheorie etwa in der Jgst. 12

Page 9: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Der Unterricht

Folgenden Themen werden besprochen:

Endliche Automaten;

Parallel und Reihenschaltung von Endlichen Automaten;

Mealy und Moore Akzeptoren;

Alphabet und Sprache;

Page 10: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Der Unterricht

Deterministische Endliche Automaten;

Nichtdeterministische Endliche Automaten;

Grammatiken und Sprachen (nicht unbedingt ausführlich).

Page 11: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1. Teil

Begonnen wird mit einem Unterrichtsgespräch:

Die Schüler sollen hier zunächst ihre Vorstellung vom Begriff „Automaten“ darstellen und sagen, welche Automaten sie bereits aus dem täglichen Leben kennen oder zumindest glauben, zu kennen.

Page 12: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1.Teil

Der Lehrer diskutiert mit den Schülern über die Funktionen sämtlicher einfacher Geräte.

-> Ziele:

- Der Lehrer verschafft sich einen ersten Eindruck von Leistungsstärke und Interesse des Kurses

Page 13: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1.Teil

- Motivation, sich überhaupt mit Automaten auseinanderzusetzen. Das Interesse der Schüler lässt sich leichter gewinnen, wenn sie sehen, dass die Automatentheorie durchaus ein alltägliches Problem darstellt und dass ohne sie ein Leben in dieser Form nicht möglich wäre.

Page 14: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1.Teil

Beispiele:

CD-Player, Colaautomat, Fahrkartenautomat, Ampel, etc.

Die von den Schülern genannten Automaten werden eventuell durch den Lehrer ergänzt.

Page 15: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 1.Teil

Es folgt eine erste Einführung in die Automatentheorie:

Das Prinzip eines einfachen Automaten wird zunächst anhand eines Lichtschalters erklärt. Der Lichtschalter hat nur 2 Zustände: Ein/Aus.

Es werden Begriffe wie Zustand, Zustandsänderung, Eingabe, Ausgabe, etc. eingeführt.

Page 16: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1.Teil

Ein Automat wird herausgegriffen und dessen Funktion und durchgeführte Prozesse werden von den Schülern erläutert (mit eigenen Worten).

(Haus-)Aufgabe an die Schüler: Beschreibe einen beliebigen Automaten aus dem Alltagsleben. Erläutere hierbei mögliche Eingaben, Prozesse und Resultate mit eigenen Worten.

Page 17: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten-1.Teil

-> Ziel: Schüler sollen Prozesse erkennen lernen, vielleicht auch darauf kommen, dass nur bestimmte Ein- und Ausgaben möglich sind.

Beispiel: Ein Colaautomat akzeptiert nur bestimmte Geldmünzen und gibt (zumindest in der Regel) keinen Kaffee aus.

Page 18: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 2.Teil

Dann folgt eine Besprechung der Ergebnisse im Unterrichtsgespräch.

Der Lehrer zeichnet den zu einem der beschriebenen Automaten gehörigen Graphen an die Tafel. Darin werden die Schüler eingebunden und aufgefordert, sich aktiv an der Graphenbildung zu beteiligen.

Page 19: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 2.Teil

Es wird zunächst eine Definition von Endlichen (Deterministischen) Automaten gegeben. Die Begriffe „Sprache“ und „Alphabet“ werden erläutert.

Page 20: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 2.Teil

A= (X,Y,Z,Ф,z0)X,Y,Z- Nicht leere MengenФ: X x ZY x Zz0 ZX- Menge der EingabezeichenY- Menge der AusgabezeichenZ- Menge der Zustände

Ф- Übergangsfunktion und z0- Startsymbol

Page 21: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 2.Teil

(Haus-) Aufgabe an die Schüler: Zeichne selbst den Graphen des von dir beschriebenen Automaten !

Die Kenntnisse der Schüler über die Graphentheorie werden anhand von mehreren Aufgaben hierzu vertieft.

Page 22: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 3.Teil

Die Parallel- und Reihenschaltung von Automaten werden demonstriert mit dem Ziel: Untersuchung eines Automaten, der eine Ampel vorstellt.

Page 23: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 3.Teil

z1 z2 z3 z4t t t

t

z0- Startz1- Grünz2- Gelbz3- Rotz4- Rot/Gelbt= 3 s.

z0t

Page 24: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 3.TeilParallelschaltung

z11,z12 z21,z22 z31,z32 z41,42t t t

t

z01,z02t

Page 25: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten- 3.TeilReihenschaltung

z11,z12,z33,z34

z21,z22,z43,z44

z31,z32,z13,z14

z41,42,z23,z24

t t t

t

z01,z02,z03,z04

t

Page 26: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Akzeptoren

Mealy und Moore Akzeptoren werden definiert. Die Eigenschaften von beiden werden besprochen und die Unterschiede werden erklärt.

Die Äquivalenz der beiden Akzeptoren wird gezeigt, indem zu einem Mealy- Akzeptor ein Moore- Akzeptor gegeben wird Satz

Page 27: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Akzeptoren

Es wird versucht, die Unterschiede zwischen den beiden Typen zu demonstrieren- Sourcecode?

Beispiele:

Akzeptor für Zahlkonstanten, Akzeptor für Strings

Page 28: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Akzeptor für Zahlkonstanten

0 10…9

0…9

Page 29: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Endliche Automaten

Nach ausreichender Vertiefung der Kenntnisse folgt eine weiterführende Aufgabe: Die Schüler bekommen einen Graphen zu einem nichtdeterministischen Automaten

Den Schülern wird nicht vorher mitgeteilt, dass der Automat nicht determiniert.

Page 30: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Akzeptor für Strings

0 1 2 3g u t

g

u

t

Page 31: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Nichtdeterministischer endlicher Automat

Es folgt ein Unterrichtsgespräch, in dem der Lehrer zunächst abwartet, ob einer der Schüler selbstständig das Problem ankündigt und ansonsten nachfragt, ob jemand ein Problem erkannt hat.

Page 32: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Nichtdeterministischer endlicher Automat

Ziel: Die Schüler sollen selbstständig darauf kommen, dass ein nichtdeterministischer Automat keine sinnvolle Verwendung im Alltag bietet, da man unter Umständen kein Resultat bekommt.

Page 33: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Nichtdeterministischer endlicher Automat

Den Schülern wird zur Demonstration folgendes Szenario vorgelegt:Ein Schuldirektor versucht mittels eines nichtdeterministischen Automaten (wie eben vorgestellt), ein Suchprogramm zu erstellen, das von der Schule abgehende Emails auf Schimpfwörter überprüft. Der Lehrer legt ein entsprechendes Programm vor und die Schüler sollen nun versuchen, dieses Suchprogramm zu umgehen.

Page 34: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Nichtdeterministischer endlicher Automat

Eine weiterführende Aufgabe wird folgendermaßen gestellt:

Wie kann der Automat dahingehend verändert werden, dass das Programm nicht mehr so einfach zu umgehen ist?

Nächste Aufgabe: Das Suchprogramm

entsprechend verändern.

Page 35: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Akzeptor für Strings- Nichtdeterministisch

0 1 2 3g u t

Page 36: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Nichtdeterministischer endlicher Automat

Daraus resultiert die folgende Problemstellung:

Wie wird aus einem nichtdeterministischen ein deterministischer Automat?

Page 37: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

Nachdem der besprochene Teil der Automatentheorie abgeschlossen ist,

folgt ein kleiner Einblick in das Thema

Grammatiken und Sprachen.

Page 38: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

Zunächst wird eine Definition von Grammatik gegeben.

Die Grammatik G ist ein Tupel G= (N,X,S,R) N- Nichtterminale Symbole X- Terminale Symbole S- Startsymbol, SN V= X N, Vx=V*NV* RVxxV* X und N- Disjunkte Mengen R- endliche Menge von Regeln

Page 39: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

Am Ende der Unterrichtsreihe werden noch die einzelnen Typen von Grammatiken vorgestellt:

Eine Grammatik G=(N,X,S,R) mit V=NX heißt:

Page 40: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

- Regulär(Typ 3) falls RNx({}XXN),- Kontextfrei (Typ 2) falls RNxV*,- Kontextsensitiv (Typ 1) falls für alle Regeln uv in R gilt : |u|<=|v|,- Typ 0 sonst. Entsprechend heißt eine Sprache LX* vom

Typ i oder auch regulär, kontextfrei, kontextsensitiv wenn es eine Grammatik G vom Typ i mit L(G)=L gibt.

Page 41: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

Es folgen einige Beispiele für Grammatiken zu den entsprechenden Sprachen (s. Tafel)

Die Schüler erhalten evtl. eine Aufgabe hierzu, je nachdem, wie sie die Thematik verstanden haben.

Page 42: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken vs. Automaten

Den Schülern wird vorgestellt, dass es Probleme gibt, die mit Automaten nicht eindeutig entschieden werden können, mit Grammatiken aber schon. Z.B. ein Klammerterm, bei dem überprüft werden soll, ob die Klammern richtig gesetzt wurden.

Page 43: Theorie Wieso muss es Informatikunterricht in einer Schule geben ?

Grammatiken und Sprachen

Je nach Leistungsniveau und Interesse des Kurses soll hierauf näher eingegangen werden.