Theorie der Programmierung (SoSe 2025)

Vorlesungen

StudOn-Kurs

Termin Zeit Ort Dozent Beginn
Mi. 12:00 – 13:30 H8 Lutz Schröder 23.04.
Mo. 16:15 – 17:45 H8 Lutz Schröder 28.04.

Intensivübung

Termin Zeit Ort Dozent Beginn
Fr. 12:15 – 13:45 00.151-113 Paul Wild 02.05.

Tutorien

Nr. Termin Zeit Ort Dozent Beginn
1 Fr. 14:15 – 15:45 00.151-113 Leon Vatthauer 02.05.
2 Mo. 18:00 – 19:30 00.151-113 Oliver Schnell 28.04.
3 Di. 18:15 – 19:45 K1 Franz Schlicht 29.04.
5 Mi. 14:15 – 15:45 00.151-113 Hannes Schulze 30.04.
6 Fr. 16:15 – 17:45 11501.04.023 Zisis Erkelentzis 02.05.
7 Mi. 18:15 – 19:45 K1 Linus Gnan 30.04.

Die Anmeldung zu den Tutorien erfolgt in der ersten Semesterwoche über StudOn. Beginn der Übungen und der Intensivübung ist in der zweiten Vorlesungswoche, also ab dem 28.04. Beachten Sie, dass in diesem Semester die erste Woche der Vorlesungszeit verkürzt ist (Mi-Fr).

Die Parallelgruppe 4 fehlt in der obigen Auflistung absichtlich. Eine Gruppe mit dieser Nummer war ursprünglich einmal geplant, wurde aber inzwischen wieder gestrichen.

Bonuspunkte erhält, wer mindestens 50% der Punkte in den Hausaufgaben erreicht hat. Die volle Anzahl an Bonuspunkten (10% der Klausurpunkte) gibt es ab 90% der Punkte aus den Hausaufgaben. Bonuspunkte können wie immer nicht zum Bestehen der Klausur führen, sondern lediglich zur Verbesserung der Note bei bestandener Klausur.

Die Abgabe der Übungen erfolgt wöchentlich in Gruppen von 3 Personen. Die Personen einer Abgabegruppe müssen dabei nicht in der gleichen Übungsgruppe angemeldet sein.

Wichtig: Die Abgabe erfolgt digital über StudOn. Eine Abgabe auf Papier ist nur noch direkt über Ihren Tutor möglich. Vermerken Sie bei Papierabgaben bitte auf der ersten Seite ihrer Abgaben stets die Namen und IdM-Kennungen aller Gruppenteilnehmer, damit wir die Abgaben richtig zuordnen können (ein entsprechendes Deckblatt für Papierabgaben ist im StudOn-Kurs verfügbar).

Ü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 Übungsblätter werden auf StudOn veröffentlicht.

Inhalt

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

Skript

Es gibt ein auf einer studentischen Mitschrift vom SoSe 2014 basierendes Skript (Stand 17.07.24), das im Laufe der Veranstaltung überarbeitet wird (siehe Revisionsnummern). Der Inhalt des Skripts ist während der Vorlesungszeit stets als vorläufig anzusehen, insbesondere hinsichtlich des Umfangs des Materials; will sagen, es kann ggf. Material hinzukommen. Eine Version, die dem tatsächlichen Ablauf der Veranstaltung entspricht, wird erst nach Abschluss der Vorlesungen zur Verfügung gestellt.

Hier der Coq-Code aus dem Einführungbeispiel.

Klausur

    • Zur Klausur ist als Hilfsmittel ein beidseitig beschriebenes oder bedrucktes DIN-A4-Blatt zugelassen.

Literatur

Termersetzungssysteme

  • 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

λ-calculi

Etc

  • 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