Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Nachqualifizierungskurs für Informatiklehrkräfte

Ähnliche Präsentationen


Präsentation zum Thema: "Nachqualifizierungskurs für Informatiklehrkräfte"—  Präsentation transkript:

1 Nachqualifizierungskurs für Informatiklehrkräfte

2 Inhaltsübersicht Infos und Neuigkeiten Übungsbetrieb Klausur
Wiederholung: Aktionsstruktur Zustandsmodelle Algorithmen Kleine Einführung in Java

3 Übungsbetrieb Ablauf (momentaner Stand ;-)
Donnerstag oder Freitag: neues Material (Skript Prof. Hubwieser sowie mathematische Grundlagen dazu von Margret Bauer) und neues Übungsblatt (wie bisher im Kursbrief integriert) Dienstag eine Woche später Abgabetermin Bitte um Nachsicht bei Fehlern – dieser Kurs ist der „Testlauf“... Anmerkungen, Wünsche, Fehler etc. bitte per an mich – ich leite alles weiter Umfrage am Ende des Kurses (auch DB-Umfrage folgt noch!) Am Ende des 2. Moduls wird es evtl. eine verbesserte Version 1.x des Gesamtmaterials geben, für Interessierte kein neues Blatt in den Winterferien (Pause!)

4 Übungsbetrieb auf den Übungsblättern wird es ab Kapitel 5 auch Programmieraufgaben (P) geben. Die Lerninhalte zur Einführung in Java befinden sich auf der ausgeteilten CD Onlinekurs: „Objektorientierte Modellierung und Programmierung“ Im Rahmen dieser Einführung erhalten Sie im Kursbrief ggf. auch kurze Informationen, welche Teilkapitel „der CD“ zu lesen sind, ggf. bekommen sie auch Codefragmente Irgendwas.java mitgeliefert, die die Schreibarbeit bei den (P)-Übungsaufgaben erleichtern. wird für manche Kapitel x auf dem BSCW ein Ordner Tippsx bereitgestellt, der mehrere Dateien mit immer detaillierteren Hinweisen zu den Programmieraufgaben enthält. Diese Dateien bitte erst nach hinreichendem eigenen Knobeln anschauen!

5 Klausur Sorry, sie war zu lang, den Fehler werden wir (hoffentlich) nicht noch einmal machen… Trotzdem war eine Angleichung des Notenschlüssels (80 Punkte sind 100%) wohl gar nicht notwendig Das Ergebnis hat mich sehr gefreut: (wir haben sogar den besten Schnitt – ich will das auch so im Staatsexamen haben ;-) Die Zuordnung Einzelnoten – Kursteilnehmer wird von mir nicht an Dritte (außer an Prof. Hubwieser) weitergegeben. Im ersten Studienjahr wird es nur noch eine weitere Klausur geben! Thema: Ablaufmodellierung und OOM Klausurtermin: Donnerstag 26.Juni

6 Weitere Infos Arbeitsbelastung?
Fehlende Unterstützung durch Schulleitung? Fragen, Probleme, Wünsche? Literatur: Steger, Angelika: Diskrete Strukturen Schöning, Uwe: Theoretische Informatik kurzgefasst Kröger, Fred: Einführung in die Informatik (Algorithmik?) Java-Literatur

7 Modellierung von Abläufen
Möglichkeiten, Abläufe zu beschreiben Aktionsstrukturen Algorithmische Modelle Zustandsmodell

8 Aktionsstruktur Beschreibung von
kausaler Abhängigkeit von Ereignissen, Nebenläufigkeit  Betriebssysteme Gleisanlage Zwei Züge fahren im Uhrzeigersinn Zug 1 will Punkt C passieren. Was muss alles passiert sein? Was kann noch passiert sein?

9 Aktionsstruktur Die Kausalitätsrelation einer Aktionsstruktur ist definiert als partielle Ordnung über der Ereignismenge. reflexiv irreflexiv Symmetr. antisymm transitiv linear Partielle Ordnung Totale Ordnung Strenge Ordnung Eine partielle Ordnung ist transitiv. Diese Eigenschaft haben wir verwendet, als wir in vorherigem Beispiel alle Ereignisse ermittelt haben die vor „transC“ stattfinden müssen. Eine partielle Ordnung ist antisymmetrisch. D. h. e1  e2 und e2  e1 ist nur genau dann möglich, wenn die beiden Ereignisse identisch sind. Wenn man Kausalität ausdrücken möchte ist dies eine sehr sinnvolle Bedingung. Eine partielle Ordnung ist reflexiv. Eine partielle Ordnung kann total (=linear) sein.

10 Aktionsstruktur Ist die Kausalitätsrelation der Aktionsstruktur aus der Fahrstuhlaufgabe (Übung Aufg. 3) bzw. von eben gesehenem Beispiel (Gleisanlage) eine totale Ordnung? Nein, 1 und 3 stehen nicht in Relation zueinander. (Es ist vollkommen egal, in welcher Reihenfolge die beiden Ereignisse stattfinden.) Nein, auch beim Gleisverkehr gibt es Ereignisse, die nicht in Relation zueinander stehen.

11 Aktionsstruktur Angenommen, eine Kausalitätsrelation einer Aktionsstruktur ist total. Was sagt das über die Aktionsstruktur aus? Man sagt, eine solche Aktionsstruktur ist sequentiell. e4 e3 e2 e1 e8 e7 e6 e5

12 Erweitertes Zustandsmodell
Aktionsstrukturen können Verhalten / Interaktion verschiedener Objekte beschreiben (vgl. zwei Personen fahren Lift) Zustandsmodelle (= Automaten) beschreiben i. a. das Verhalten eines einzelnen Objekts (Lift hält /fährt /defekt …) Erweitertes Zustandsmodell ( Softwareentwicklung): ZM = (Z,E,A,B,δ,z0,F) 7-Tupel: Zustände, Ereignisse, Aktionen, Bedingungen, Übergangsfunktion (Transition) δ : (Z×E×B)(A×Z), ein Startzustand, Endzustände Bsp. aus Blatt 2 Bankautomat (ein Übergang aus dem Zustandsdiagramm): P3: Automat erwartet 3. Eingabe der Pin KE: (neue) Karte wird erwartet P3 KE Pin [not(korrekt(Pin))] / zieheKarteEin UML – Notation (Unified Modeling Language) Kein B, kein A (5-Tupel)  endlicher Automat

13 Endlicher Automat Ein abstraktes Rechnermodell ( theoretische Informatik) weist auf endlich viele Zustände, „endliche Gedächtnisleistung“ hin Ein endlicher Automat „kann“ genauso viel wie jeder Computer! Erkennungsmechanismus für eine bestimmte Klasse von Sprachen (sog. „reguläre Sprachen“) Anwendung endlicher Automaten? z.B. Syntaxprüfung mit endlichen Automaten (Kapitel 4 dieses Moduls), Teilworterkennung -> Suchen, Suchmaschinen (vgl. auch Aufgabe 7 Molekülanalyse des 2. Übungsblatts) Die Zuweisung (von Werten an Variablen) im imperativen Programmierstil kann als Zustandsübergang aufgefasst/modelliert werden. x=5 x := x+1 x=6 Zustand

14 Mustererkennung (Pattern matching)
Motivation: Worterkennung / Mustererkennung (Pattern matching) Bsp.: Suchfunktion in MS Windows

15 Suchfunktion in MS Word

16 Endlicher Automat Ein (deterministischer) endlicher Automat M (kurz DFA) ist gegeben durch ein 5-Tupel , wobei Z := endliche Menge der Zustände,  := Eingabealphabet (endlich!), es gilt Z      : Z    Z heißt Überführungsfunktion, z0 := Startzustand (z0Z), E := Menge der Endzustände (E  Z). Z:={Z0; Z1; Z2} :={0; 1} z0:=Z0 E:={Z2} Bsp.: Gesucht wird ein Automat, der erkennt, ob eine (als Binärzahl) eingegebene Zahl durch 4 teilbar ist. : (Z0,0)Z1 (Z0,1)Z0 (Z1,0)Z2 (Z1,1)Z0 (Z2,0)Z2 (Z2,1)Z0 1 Z0 Z1 Z2

17 Endlicher Automat „partieller Automat“ „Minimalautomat“ Aufgabe 6...

18 Endlicher Automat – Formale Sprachen
Formale Sprache: Jede Teilmenge von A*, wobei A ein Alphabet Beispiel: Sei A = {A,B,C,...,X,Y,Z,Ä,Ü,Ö,a,b,c,...,x,y,z,ä,ü,ö} =der „deutsche Zeichensatz“ A* = die Menge aller Zeichenketten mit Zeichen aus A. Dann liegen z.B. die Wörter „jkxoö“, „AKakLL“ und „yes“ in A*, aber auch die Wörter „Automat“, „Schweinebraten“ und „römisch“. Eine mögliche Teilmenge von A* wäre dann beispielsweise die Menge aller im Duden vorkommenden Wörter. Diese Menge bildet dann eine formale Sprache, die wir wohl als „deutsche Sprache“ oder kurz „Deutsch“ bezeichnen würden. Um mit solchen Sprachen, die i.a. unendliche Objekte sind, algorithmisch umgehen zu können, benötigen wir jedoch endliche Beschreibungsmöglichkeiten für Sprachen. Dazu dienen sowohl die Grammatiken als auch die Automaten.

19 Grammatik N={A,B} Eine Grammatik ist ein 4-Tupel G = (N,T,P,S) mit:
N:=endliche Menge von Variablen (Nicht-Terminalzeichen) T:= endliche Menge von Terminalzeichen P:=endliche Menge der Regeln oder Produktionen S ist die Startvariable (und muss in N liegen) Außerdem muss gelten T={a,b} P = { A aA, A aB, B bB, B b} S=A Es gilt zum Beispiel: A => aA => aaA => aaaB => aaabB => aaabb Vermutung: Die Sprache L(G) über der Grammatik G lässt sich schreiben als

20 BNF N={A,B} T={a,b} P = { A aA, A aB, B bB, B b} S=A
Es gilt zum Beispiel: A => aA => aaA => aaaB => aaabB => aaabb Vermutung: Die Sprache L(G) über der Grammatik G lässt sich schreiben als

21 BNF N={A,B} In diesem Beispiel handelt es sich um eine sog. reguläre Sprache. Das sind genau diejenigen Sprachen, dessen Worte von endlichen Automaten erkannt werden können. Aufgabe: konstruiere einen EA, der genau diese Worte erkennt. Das Eingabealphabet soll {a,b,x} sein, wobei x für jedes beliebige andere Zeichen stehen soll. T={a,b} P = { A aA, A aB, B bB, B b} S=A Vermutung: Die Sprache L(G) über der Grammatik G lässt sich schreiben als

22 Endlicher Automat Simulationsprogramm für endliche Automaten: Charon

23 Erweiterung des endlichen Automaten
Mealy-Automat (Mealy-Maschine) „endlicher Automat und zusätzlich Ausgabe A und Ausgabefunktion  : (Z×E)A und ohne Endzustände” (6-Tupel) z1 e / a z2 Prinzip des ZÜD: Moore-Automat (Moore-Maschine) „Mealy-Automat nur  : Z  A ” (6-Tupel) a z1 e z2 Prinzip des ZÜD:

24 Algorithmus Ein Algorithmus stellt eine bestimmte Lösung für eine Klasse von Aufgaben dar. Für eine Klasse von Aufgaben gibt es meist recht unterschiedliche Algorithmen. Bsp. aus Kapitel 3 des Moduls Klasse von Aufgaben: Sortieren Unterschiedliche Algorithmen: Bubblesort, Quicksort, Sortieren durch Einfügen, …

25 Algorithmus „Bubblesort“
5 8 2 7 3 1 9 4 6 Betrachtete Zahl Pseudocode des Algorithmus aus dem Material: Wiederhole (Anzahl der Elemente der Liste -1) mal Wiederhole für alle Zahlen von der ersten bis zur vorletzen Falls die betrachtete Zahl größer ist als die folgende Vertausche die beiden Zahlen Ende Falls Ende Wiederhole („der unsort. Liste“) Äußere Wiederholung Innere Wiederholung Es folgt eine Animation nach Prof. Kemper:

26 1. äußere Wiederholung 5 8 2 7 3 1 9 4 6 1. und 2. innere Wiederh.: 3. innere Wiederh.: 5 2 8 7 3 1 9 4 6 4. innere Wiederh.: 5 2 7 8 3 1 9 4 6 5. innere Wiederh.: 5 2 7 3 8 1 9 4 6 6. und 7. innere Wiederh.: 5 2 7 3 1 8 9 4 6 8. innere Wiederh.: 5 2 7 3 1 8 4 9 6 9. innere Wiederh.: 5 2 7 3 1 8 4 6 9

27 2. äußere Wiederholung 5 2 7 3 1 8 4 6 9 2 5 7 3 1 8 4 6 9 2 5 3 7 1 8 4 6 9 2 5 3 1 7 8 4 6 9 2 5 3 1 7 4 8 6 9 2 5 3 1 7 4 6 8 9

28 3. äußere Wiederholung 2 5 3 1 7 4 6 8 9 2 3 5 1 7 4 6 8 9 2 3 1 5 7 4 6 8 9 2 3 1 5 4 7 6 8 9 2 3 1 5 4 6 7 8 9

29 4. äußere Wiederholung 2 3 1 5 4 6 7 8 9 2 1 3 5 4 6 7 8 9 2 1 3 4 5 6 7 8 9 2 1 3 4 5 6 7 8 9

30 5. äußere Wiederholung 2 1 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

31 Sortieren: Bubblesort
1 2 3 4 5 6 7 8 9 6. äußere W.: Ergebnis: 7. äußere W.: Ergebnis: 8. äußere W: Endergebnis:

32 Kleiner Ausblick Fragen:
Wie gut ist der Sortier-Algorithmus Bubblesort? Wie könnte er (ein bisschen) verbessert werden? Was heißt „gut“, wovon kann das evt. auch abhängen? Gibt es „bessere“ Sortier-Algorithmen? -> 2. Studienjahr Modul „Algorithmen und Datenstrukturen“ Vergleich der beiden Sortier-Algorithmen Bubblesort und Quicksort Quicksort werden sie in Kapitel 7 dieses Moduls noch kennenlernen

33 Einführung in Java Einfuehrung_in_Java.pdf
Programmieren lernt man nur durch Üben! Besonders am Anfang wird man dabei oft mehr oder weniger einfache Fehler machen. Die Fehlersuche ist oft sehr nervtötend. Sie können aber davon ausgehen, dass jeder, der mit einer Programmiersprache beginnt, ähnliche Erfahrungen macht bzw. gemacht hat. Verzweifelt also nicht in solchen Situationen!!!!! Oft ist hier die Verbindungsaufnahme ( , Telefon, ...) mit einer/m Kurskollegen/in oder mir sehr hilfreich. Einfuehrung_in_Java.pdf (Autor des Originals: Herr Dreßler aus Würzburg)

34 Fragen ?


Herunterladen ppt "Nachqualifizierungskurs für Informatiklehrkräfte"

Ähnliche Präsentationen


Google-Anzeigen