Theorie der Programmierung (SS 2018)

Klausur

Fragestunde: Wir bieten am Dienstag, den 9. Oktober um 14 Uhr in Raum 00.131-128 eine Fragestunde für die Klausur an.

Klausur: Das Datum der Klausur kann mittlerweile in mein campus eingesehen werden. Zur Klausur sind sämtliche papierbasierten Hilfsmittel zugelassen. Die Bonuspunkte sind in StudOn eingetragen. Wir empfehlen einen rechtzeitigen Blick auf die

Klausurergebnisse: Die Klausur ist korrigiert und die vorläufigen Ergebnisse in mein Campus einsehbar (bitte auch nochmals selbst überprüfen, ob die Einträge in StudOn korrekt sind). Die Einsicht findet am Dienstag, den 23.10.2018 um 16:00 Uhr in Raum 11.150-113 statt.

Termine

Vorlesungen

Termin Zeit Ort Dozent Beginn
Mo. 10:15 – 11:45 H9 Lutz Schröder 9.4.
Do. 16:15 – 17:45 H9 ::: :::

Intensivübung

Termin Zeit Ort Dozent Beginn
Mo. 14:15 – 15:45 H4 Christoph Rauch 16.4.

Tutorien

Die Anmeldung zu den Tutorien erfolgt in der ersten Semesterwoche über mein Campus (Beginn 9.4. um 20:00 h). Die verfügbaren Termine sind der untenstehenden Tabelle zu entnehmen (die von den Angaben in UnivIS abweichen kann). Beginn der Übungen ist in der zweiten Vorlesungswoche (ab 16. April).

Verteilung der Bonuspunkte: Bonuspunkte erhält, wer mindestens 50% der Punkte in den Hausaufgaben erreicht hat. Die maximale Anzahl an Bonuspunkten (also 6) gibt es bei 90% der Punkte oder mehr, dazwischen wird linear skaliert. Bonuspunkte können wie immer nicht zum Bestehen der Klausur führen sondern lediglich zur Verbesserung der Note bei bestandener Klausur.

Termin Zeit Ort Dozent
Mo. 12:15 – 13:45 0.68 Üsame Cengiz
Mo. 12:15 – 13:45 0.85 Frederik Haselmeier
Mo. 12:15 – 13:45 02.134-113 Andreas Grigorjew
Mo. 12:15 – 13:45 E 1.11 Simone Weiß
Di. 10:15 – 11:45 00.131-128 Kristin Braun
Di. 12:15 – 13:45 00.131-128 Üsame Cengiz
Do. 08:30 – 10:00 01.151-128 Johannes Kern
Do. 08:15 – 09:45 01.255-128 Frederik Haselmeier

Die Abgabe der Übungen erfolgt wöchentlich in Gruppen von 2 bis 3 Personen.

Übungsblätter

Die Blätter enthalten Präsenzaufgaben für die Tutorien und bepunktete Hausaufgaben, die zum Erwerb von Bonuspunkten für die Klausur abgegeben und korrigiert werden. Die Veröffentlichung der Blätter findet über die Studon-Gruppe statt.

Inhalt

Themen

  • Termersetzung
  • λ-Kalkül
  • Semantik von Programmiersprachen, Bereichstheorie
  • Induktion und Koinduktion
  • Reguläre Sprachen und endliche Automaten
  • Stichpunktartige Themenliste

Skript

Es gibt ein auf einer studentischen Mitschrift vom SoSe 2014 basierendes, vorläufig noch inoffizielles

  • Skript [Revision 22576 — Achtung: Korrekturin Beispiel 2.56 (kritische Paare)],

das im Laufe der Veranstaltung überarbeitet wird (siehe Revisionsnummern).

Literatur

  • F. Baader, T. Nipkow: Term rewriting and all that, Cambridge University Press, 1999
  • J.-W. Klop, Term rewriting systems, in S. Abramsky, D. Gabbay and T. Maibaum (eds.), Handbook of Logic in Computer Science, Oxford University Press, 1992
  • J. Giesl, Termersetzungssysteme, RWTH Aachen, 2011
  • H. Barendregt, λ-calculi with types, in S. Abramsky, D. Gabbay and T. Maibaum (eds.), Handbook of Logic in Computer Science, Oxford University Press, 1992
  • T. Nipkow, Lambda-Kalkül, TU München, 2004
  • G. Winskel, Formal Semantics of Programming Languages, MIT Press, 1993
  • J. E. Hopcroft, J. D. Ullman and R. Motwani, Introduction to Automata Theory, Languages, and Computation, 3rd ed., Prentice Hall, 2006
  • B. Jacobs, J. Rutten: A Tutorial on (Co-)Algebras and (Co-)Induction, EATCS Bulletin 42 (1997), 222-259.
  • J. Rutten: Automata and Coinduction (an exercise in coalgebra), Proc. CONCUR’98, LNCS 1466, 194-218, Springer, 2006.
  • P. Taylor: Proofs and Types, Cambridge University, 2003
  • M. H. B. Sørensen, P. Urzyczyn: Lectures on the Curry-Howard Isomorphism, 1998
  • A. Pitts: Lecture Notes on Regular Languages and Finite Automata, Cambridge University, 2013