HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

11.12.2018 Der vorläufige Terminplan wurde um die Termine im Jahr 2019 ergänzt.
22.11.2018 Die Klausur am 4.4.2019 wurde auf 14:00 verlegt und findet nun in den Hörsälen Audimax und Fasanengarten statt.
16.11.2018 Die Beispiellösungen von Blatt 3 waren dank eines LaTeX-Malheurs unvollständig, dies wurde behoben.
16.11.2018 Das Tutorium Nr.3 von Max Göttlicher (14:00, SR131) fällt am 26.11. aus. Betroffene Studenten können stattdessen das Tutorium von Oliver Suchan (gleiche Zeit, SR301) besuchen (oder eines zu einem anderen Termin).
14.11.2018 Die Vorlesungstermine bis Weihnachten sind nun eingetragen. Beachten Sie, dass am Freitag, den 23.11.2018, keine Vorlesung stattfindet.
18.10.2018 Auf Blatt 0 war ein ungültiger Link zu WebInscribe. Dies wurde behoben.

Inhalt

In der Vorlesung Programmierparadigmen lernen die Teilnehmer nichtimperative Programmierung und ihre Anwendungsgebiete kennen. Im Einzelnen werden behandelt:

  1. Funktionale Programmierung - rekursive Funktionen und Datentypen, Funktionen höherer Ordnung, Kombinatoren, lazy evaluation, Lambda-Kalkül, Typsysteme, Anwendungsbeispiele.
  2. Logische Programmierung - Terme, Hornklauseln, Unifikation, Resolution, regelbasierte Programmierung, constraint logic programming, Anwendungen.
  3. Parallelprogrammierung - message passing, verteilte Software, Aktorkonzept, Anwendungsbeispiele.
  4. Elementare Grundlagen des Compilerbaus.

Es werden folgende Programmiersprachen (teils nur kurz) vorgestellt: Haskell, Prolog, C++, Java Byte Code.

Das in dieser Vorlesung vermittelte Wissen wird in den zur Vorlesung gehörenden Übungen vertieft.

Klausuren

PrüfungszeitraumTagBeginnEndeOrt
WS 2018/19Donnerstag, 04.04.201914:00 Uhr16:00 Uhr Hörsaal am Forum (Audimax), Gebäude 30.95
Hörsaal am Fasanengarten Gebäude 50.35

Klausur-Formalitäten

Die Klausur hat einen Umfang von 120 Minuten. Zur Teilnahme an der Klausur ist neben dem Studierendenausweis ein gültiger, amtlicher Lichtbildausweis (Personalausweis, Führerschein, Reisepass) mitzubringen!

Zugelassene Hilfsmittel

Erlaubte Hilfsmittel für die Klausur sind alle Quellen in Papierform, insbesondere

  • Vorlesungsfolien der Veranstaltung Programmierparadigmen
  • Übungszettel und Beispiellösungen der Veranstaltung Programmierparadigmen
  • Bücher, Ausdrucke und beliebige eigenen Aufzeichnungen

Jegliche Elektronik (Mobiltelefon, Notebook, etc.) ist verboten!

Vorlesung

Die Vorlesung hat den Umfang von 3 SWS. Die wöchentlichen Termine finden während folgender Zeiträume statt:

Tag Beginn Ende Ort
Mittwochs14:0015:30Hertz-Hörsaal, Raum 126 (Geb. 10.11)
Freitags 14:0015:30Hertz-Hörsaal, Raum 126 (Geb. 10.11)
Die erste Vorlesung findet am 17.10.2018 statt.

Termine

Bitte achten Sie auf Änderungen zu diesem vorläufigen Terminplan, die hier und in der Vorlesung bekannt gegeben werden.
TagDatumBeginnEndeOrt
Mittwoch 17.10.201814:0015:30Hertz-Hörsaal
Freitag 19.10.201814:0015:30Hertz-Hörsaal
Mittwoch 24.10.201814:0015:30Hertz-Hörsaal
Freitag 26.10.201814:0015:30Hertz-Hörsaal
Mittwoch 31.10.201814:0015:30Hertz-Hörsaal
Freitag 02.11.201814:0015:30Hertz-Hörsaal
Mittwoch 07.11.201814:0015:30Hertz-Hörsaal
-
Mittwoch 14.11.201814:0015:30Hertz-Hörsaal
Freitag 16.11.201814:0015:30Hertz-Hörsaal
Mittwoch 21.11.201814:0015:30Hertz-Hörsaal
-
Mittwoch 28.11.201814:0015:30Hertz-Hörsaal
-
Mittwoch 05.12.201814:0015:30Hertz-Hörsaal
Freitag 07.12.201814:0015:30Hertz-Hörsaal
Mittwoch 12.12.201814:0015:30Hertz-Hörsaal
Freitag 14.12.201814:0015:30Hertz-Hörsaal
Mittwoch 19.12.201814:0015:30Hertz-Hörsaal
-
Weihnachten
-
Mittwoch 09.01.201914:0015:30Hertz-Hörsaal
Freitag 11.01.201914:0015:30Hertz-Hörsaal
Mittwoch 16.01.201914:0015:30Hertz-Hörsaal
Freitag 18.01.201914:0015:30Hertz-Hörsaal
Mittwoch 23.01.201914:0015:30Hertz-Hörsaal
Freitag 25.01.201914:0015:30Hertz-Hörsaal
Mittwoch 30.01.201914:0015:30Hertz-Hörsaal
Freitag 01.02.201914:0015:30Hertz-Hörsaal
Mittwoch 06.02.201914:0015:30Hertz-Hörsaal

Unterlagen

Das Vorlesungsmaterial darf ausschließlich zu Zwecken genutzt werden, die in direktem Zusammenhang mit der Veranstaltung Programmierparadigmen stehen. Insbesondere die Weitergabe des hier zur Verfügung gestellten Materials an Dritte ist nicht gestattet. Vorlesungsfolien, Musterlösungen und hier veröffentlichter Quell-Code unterliegen dem Copyright des Lehrstuhls Programmierparadigmen (IPD Snelting).

Das Material kann nur aus dem Uni-Netz heruntergeladen werden. Verwenden Sie bitte den VPN-Client des SCC, falls Sie von außerhalb Zugriff benötigen.

Vorlesungsfolien

StandThemaPDF
22.11.2018Organisatorisches[v1.0.2][v1.0.1]
  • Die Klausurhörsäle sind Audimax, Benz und Gerthsen, nicht Daimler
[v1.0.2]
  • Klausur verlegt auf 14:00 (weiterhin am 4.4.2019), Hörsäle Audimax und Fasanengarten
Download
15.10.2018Funktionale Programmierung: Einführung, ListenDownload
17.10.2018Funktionale Programmierung: Funktionen höherer Ordnung, Kombinatoren[v1.0.1][v1.0.1]
  • Folie 45: `2/y` zu `y/2` korrigiert
  • Folien 49, 50, 53: Beispielfunktion 'f' durch weniger triviales Beispiel ersetzt
Download
02.11.2018Funktionale Programmierung: Lazy Evaluation[v1.0.1][v1.0.1]
  • Folie 79: Parameterreihenfolge von `foldl` korrigiert
Download
03.12.2018Funktionale Programmierung: Typen, Beispiele fkt. Programmierung[v1.0.1][v1.0.1]
  • Folie 100: `Conf` muss über `Int`s statt `Integer`s definiert sein
Download
02.11.2018Funktionale Programmierung: Algebraische Datentypen & Anwendungen[v1.0.1][v1.0.1]
  • Der Abschnitt "Termersetzung" ist Zusatzmaterial
Download
31.10.2018Funktionale Programmierung: Typklassen, QuickCheckDownload
31.10.2018Funktionale Programmierung: Zusatzfolien MonadenDownload
22.11.2018Theoretische Grundlagen: Der untypisierte Lambda-Kalkül[v1.0.2][v1.0.1]
  • Folie 184: Zusatz zur Komplexität ergänzt
[v1.0.2]
  • Folien 162, 167 neu: weitere Hinweise zu Termstruktur
Download
05.11.2018Theoretische Grundlagen: Regelsysteme, TypsystemeDownload
12.11.2018Theoretische Grundlagen: Polymorphie[v1.0.1][v1.0.1]
  • Folie 215: ein `y : int` war nicht durch `y : α` ersetzt
Download
28.11.2018Logische Programmierung: Einführung, BacktrackingDownload
28.11.2018Logische Programmierung: Arithmetik und Listen, CutsDownload
22.11.2018Logische Programmierung: BeispielprogrammeDownload
22.11.2018Logische Programmierung: SpracherweiterungenDownload
28.11.2018Logische Programmierung: Unifikation und ResolutionDownload
28.11.2018Logische Programmierung: Constraint Logic ProgrammingDownload
11.12.2018TypinferenzDownload
11.12.2018Zusatzfolien: RustDownload

Altklausuren

Klausuren mit Beispiellösungen.
StandThemaPDF
Sommersemester 2014 Klausur vom 23. September 2014 Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2014/2015 Klausur vom 9. April 2015 Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2015 Klausur vom 21. September 2015 Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2015/2016 Klausur vom 7. April 2016 Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2016 Klausur vom 22. September 2016 Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2017 Klausur vom 25. September 2017 Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2017/2018 Klausur vom 5. April 2018 Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2018 Klausur vom 26. September 2018 Download (ohne Lösungen)
Download (mit Lösungen)

Veranstalter

Lehrstuhlinhaber
Prof. Gregor Snelting
Wissenschaftliche Mitarbeiter
Sebastian Ullrich
Maximilian Wagner