HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

29.10.2019 Die vorläufigen Punkte und Noten vor Klausureinsicht sind nun im Campus-System eingetragen. Den Notenschlüssel zur Klausur finden Sie hier.
28.10.2019 Die Termine der Notenveröffentlichung und Klausureinsicht sind hiermit bestätigt. Studierende der aktuellen SPO können die vorläufigen Noten ab Veröffentlichung (Dienstag) im Campus-System einsehen, Studierende der SPO 2008 können diese ab Veröffentlichung im Sekretariat erfragen.
Die Klausureinsicht findet am Donnerstag, den 31.10.2019, um 10:00 im Raum 010 im Informatik-Gebäude (50.34) statt.
Studierende, die die Prüfung wiederholt nicht bestanden haben, werden per E-Mail über den Termin ihrer mündlichen Nachprüfung benachrichtigt. Bitte melden Sie sich nach Erhalt dieser E-Mail so schnell wie möglich per Mail beim Sekretariat, um Ihren Termin zu bestätigen.
25.10.2019 Die Noten der Nachklausur vom 30.09.2019 werden voraussichtlich am Dienstag, den 29.10. veröffentlicht. Der vorläufige Termin für die Klausureinsicht ist am Donnerstag, den 31.10. Wir werden diese Termine sobald wie möglich noch einmal bestätigen.
17.06.2019 Die Anmeldung für die Klausur am 30.09.2019 ist nun freigeschaltet. Anmeldeschluss ist der 25.09.2019.
08.05.2019 Die Klausur im SS2019 wird am 30.09.2019, 11:00-13:00 Uhr im Audimax stattfinden.
30.04.2019 Die Klausurergebnisse für die Klausur vom 04.04.2019 werden voraussichtlich am Dienstag, den 30.04.2019, um 14:00 Uhr ausgehängt (Gebäude 50.34, gegenüber von der Informatik-Bibliothek und gegenüber des Sekretariats des Lehrstuhls Snelting).
Die Klausureinsicht findet am 02.05.2019 zwischen 14:00 Uhr und 16:15 Uhr im Raum -108 im Informatik-Gebäude (50.34) statt.
Mündliche Nachprüfungen für Studierende, die die Prüfung wiederholt nicht bestanden haben, werden voraussichtlich vom 03.05.2019 bis 08.05.2019 stattfinden. Betroffene Studierende werden per E-Mail über ihren Nachprüfungstermin benachrichtigt. Bitte melden Sie sich nach Erhalt dieser E-Mail so schnell wie möglich per Mail beim Sekretariat, um Ihren Termin zu bestätigen.
28.03.2018 Die Hörsaaleinteilung steht nun fest. Bitte denken Sie daran, zur Klausur neben dem Studierendenausweis einen gültigen, amtlichen Lichtbildausweis mitzubringen!
19.03.2019 Falls Sie eine 4,0-Bescheinigung benötigen, schreiben Sie bitte eine kurze diesbezügliche Mail an das Sekretariat und geben Sie Ihren vollen Namen und Ihre Matrikelnummer an. Sollten Sie Probleme mit Fristen bekommen, kommen Sie bitte zu Prof. Snelting in die Sprechstunde. Für eine Ummeldung zum Master zum SS19 sollten die Noten rechtzeitig eingetragen sein, da die Ummeldung noch bis Ende Mai erfolgen kann. Sie sollten in diesem Fall keine 4,0-Bescheinigung benötigen.
07.02.2019 Wie in der Vorlesung angekündigt, findet am Mittwoch, den 27.03.2019, um 14:00 Uhr im Raum -101 im Informatikbau (50.34) eine Fragestunde statt, in der Übungsleiter und Tutoren Fragen zum Vorlesungsstoff beantworten. Idealerweise schicken Sie schon vor dem Termin Ihre Fragen per E-Mail an die Übungsleiter (Max Wagner, Sebastian Ullrich) oder stellen Ihre Fragen im ILIAS-Forum.
24.01.2019 Da die Vorlesungszeit in zwei Wochen endet, wird in den Übungen in der letzten Vorlesungswoche
  • am Montag, den 04. Februar, ausschließlich das Thema Parallelprogrammierung, und
  • am Dienstag, den 05. Februar, ausschließlich das Thema Compiler/Bytecode
behandelt. Sie dürfen und sollten daher in dieser Woche zwei Übungstermine wahrnehmen.
15.01.2019 Die Anmeldung für die Klausur am 04.04.2019 ist nun freigeschaltet. Anmeldeschluss ist der 26.03.2019.
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
SS 2019Montag, 30.09.201911:00 Uhr13:00 UhrHörsaal am Forum (Audimax), Gebäude 30.95

Zuteilung Klausur WS2018/19

KlausurMatrikelnummerOrt
Funktionale Programmierung, Funktionale Programmierung+ProgrammierparadigmenalleHörsaal am Forum (Audimax), Gebäude 30.95
Programmierparadigmenbis 1979999Hörsaal am Forum (Audimax), Gebäude 30.95
Programmierparadigmenab 1980000Hörsaal am Fasanengarten, Gebäude 50.35

in Haskell-Notation:

  hoersaalZuordnung stud
    | stud `willSchreiben` FunktionaleProgrammierung = Audimax
    | matr stud <= 1979999                           = Audimax
    | otherwise                                      = HSaF

Klausur-Formalitäten

Die Klausur hat einen Umfang von 30 Minuten (Funktionale Programmierung) bzw. 120 Minuten (Programmierparadigmen). 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
07.01.2019Parallelprogrammierung: Grundlagen [v1.0.1][v1.0.1]
  • Aktuellere Daten auf Folie 4 und 7 ergänzt
Download
10.01.2019Parallelprogrammierung: C/C++-Wiederholung [v1.1.0][v1.1.0]
  • Folien zu Mehrfachvererbung und Referenzen aus dem Anhang in den Hauptinhalt verschoben.
  • Bezug der Mehrfachvererbung zu Default-Implementierungen in Java-Interfaces ergänzt.
Download
09.01.2019Parallelprogrammierung: MPIDownload
16.01.2019Parallelprogrammierung: Java Basic [v1.0.2][v1.0.1]
  • Folie 11: Typo korrigiert
  • neue Folie 47 hinzugefügt
[v1.0.2]
  • Folie 14: Erweiterung der Erklärung zum interrupt-Flag
  • Folie 17 und 18 als Vorgriff auf Werterückgabe aus Threads eingefügt (detailliert in Java-Advanced)
Download
23.01.2019Parallelprogrammierung: Java Advanced und Aktormodell [v1.1.2][v1.1.0]
  • Diverse Folien (insb. alle Folien zu Akka) in den Anhang verschoben
[v1.1.1]
  • Folie 32: Fehler beim Zugriff auf 'age' korrigiert
[v1.1.2]
  • Folie 33 hinzugefügt: Fehler bei immutable Objekten im collect diskutiert
Download
21.01.2019Design by ContractDownload
23.01.2019Compiler: EinführungDownload
01.02.2019Compiler: Lexikalische und syntaktische AnalyseDownload
25.01.2019Compiler: Semantische AnalyseDownload
28.01.2019Compiler: Java-Bytecode und CodeerzeugungDownload
05.02.2019Werbung: Veranstaltungen im SS2019Download
05.02.2019FragestundeDownload
Der Foliensatz (Snelting-Teil) zum Download: [PDF] [PDF4].
Der Foliensatz (Snelting-Teil) als Druckversion zum Download: [PDF] [PDF4]
Bemerkung: Bei der Druckversion kann es zu Darstellungsfehlern kommen, weil nicht alle Animationen sinnvoll zu einer Folie zusammengefasst werden konnten!

Sonstiges

StandThemaDatei
14.12.2018Beispielimplementierungen Typinferenz (Haskell, Prolog) und Unifikation (Union/Find und Robinson, Haskell)Download
28.01.2019Beispielcompiler für Simple-Sprache (Java)Download

Altklausuren

Klausuren mit Beispiellösungen.
SemesterBestehensquotePDF
Wintersemester 2017/2018 71,11% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2018 68,66% Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2018/2019 73,93% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2019 72,60% Download (ohne Lösungen)
Download (mit Lösungen)
Sonderklausur Sommersemester 2020 71,68% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2020 64,84% Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2020/2021 75,28% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2021 67,82% Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2021/2022 79,67% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2022 73,20% Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2022/2023 73,38% Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2023 72,16% Download (ohne Lösungen)
Download (mit Lösungen)

Kneipenquiz

Kneipenquiz-Aufgaben aus dem Bereich KIT, Programmierparadigmen und Programmiersprachen.
EditionThemaPDF
Wintersemester 2011/2012 Programmiersprachen und Algorithmen Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2012/2013 Historische Veröffentlichungen der Informatik Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2013/2014 Informatik am KIT - Dissertationen Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2014/2015 Quellcode in Film und Fernsehen Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2015/2016 Science Fiction Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2016/2017 Um die Ecke-Rätsel, Zitate Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2017/2018 Ahnengallerie Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2019/2020 Anagramme Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2022/2023 Straßen Download (ohne Lösungen)
Download (mit Lösungen)

Veranstalter

Lehrstuhlinhaber
Prof. Gregor Snelting
Ehemalige Mitarbeiter
Dr.-Ing. Sebastian Ullrich
M.Sc. Maximilian Wagner