HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

21.10.2022 Die Ergebnisse der Klausur vom 29.09.2022 sind nun vorläufig im Campus-System eingetragen. Die Klausureinsicht findet am Dienstag, den 25.10.2022, von 15:45 bis 17:15 im Raum -102 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. Den Notenschlüssel zur Klausur finden Sie hier.
2.5.2022 Die Klausureinsicht findet am Mittwoch, den 4.5.2022, von 10:00 bis 11:30 im Raum -143 (ATIS-Poolraum) 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. Den Notenschlüssel zur Klausur finden Sie hier, die vorläufigen Noten der Herbstklausur sind nun im Campus-System eingetragen. Falls Ihre Anmeldung für die Prüfung Programmierparadigmen im Campus-System gesperrt ist, sollten Sie eine Mail über das Vorgehen erhalten. Ihre Punkte können Sie in diesem Fall im Sekretariat erfragen.
12.4.2022 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 SS22 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.
29.11.2021 Die Vorlesung findet weiterhin in Präsenz statt. Es dürfen nur Geimpfte und Genesene in Präsenz teilnehmen, alle anderen verwenden bitte die Aufzeichnung (siehe ILIAS). Es findet ferner eine 2G-Vollkontrolle statt. Bitte kommen Sie etwas früher und halten Ihren digitalen Impfnachweis bereit. Wir empfehlen dringend, den Impfnachweis auf die KIT-Karte aufzuspielen, da die Kontrolle dann schnell per KONKIT geschehen kann. Das Konkit-Gerät am Hertz-Hörsaal ist inzwischen repariert und auf 2G umgestellt.
5.11.2021 Ab sofort können Sie auch ohne vorherige Buchung in die Vorlesung kommen.
14.10.2021 Wie Sie heute per Mail informiert worden sein sollten, können Sie ab Montag an entsprechenden Geräten in Mensa, Bibliothek und Audimax Ihren 3G-Status auf Ihre KIT-Karte laden. Wir bitten darum, von dieser Möglichkeit Gebrauch zu machen, um den Einlass in Programmierparadigmen und andere große Vorlesungen zu beschleunigen.
11.10.2021 Für die Vorlesung wird in diesem Semester zunächst die im ILIAS verlinkte Ticketing-Funktion verwendet werden, um eine Überfüllung des Hörsaals zu vermeiden. Die Buchung für die Vorlesungen werden jeweils zwei Tage vorher um 9:00 Uhr freigeschaltet. Da wir am 20.10. die Einhaltung der 3G-Regel kontrollieren werden, bitten wir um rechtzeitiges Erscheinen, am besten schon um etwa 13:40!
9.9.2021 Die Veranstaltung wird im Wintersemester gemäß der KIT-Richtlinien hauptsächlich in Präsenz stattfinden, sowohl die Vorlesung als auch die Mehrheit der Tutorien. Hierbei wird eine Nachweispflicht für den Status als getestete, geimpfte oder genesene Person (3G) erforderlich sein. Eine Aufzeichnung der Vorlesung (nur Beamer und Audio) wird verfügbar sein.

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 (CLP), Anwendungen.
  3. Parallelprogrammierung - message passing (MPI), verteilte Software, Aktorkonzept, Anwendungsbeispiele.
  4. Elementare Grundlagen des Compilerbaus.

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

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

Klausuren

PrüfungszeitraumTagBeginnEndeOrt
WS 2021/22Freitag, 08.04.202212:00 Uhr14:00 Uhr
SS 2022Donnerstag, 29.09.202211:00 Uhr13:00 UhrGerthsen-HS

Zuteilung Klausur SS2022 (29.09.2022)

KlausurMatrikelnummerOrt
Funktionale ProgrammierungalleGerthsen-Hörsaal, Gebäude 30.21
ProgrammierparadigmenalleGerthsen-Hörsaal, Gebäude 30.21

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!

Stand 07.04.2022: Nach den aktuellen Corona-Regeln ist die Maskenpflicht aufgehoben. Wir empfehlen, in der Klausur freiwillig eine Maske zu tragen. Wer keine Maske trägt, wird in keiner Weise benachteiligt. Bitte respektieren Sie die Entscheidungen Ihrer Kommilitonen.

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 20.10.2021 statt.

Termine

Bitte achten Sie auf Änderungen zu diesem vorläufigen Terminplan, die hier und in der Vorlesung bekannt gegeben werden.
TagDatumBeginnEndeOrt
Mittwoch 20.10.202114:0015:30Hertz-Hörsaal
Freitag 22.10.202114:0015:30Hertz-Hörsaal
Mittwoch 27.10.202114:0015:30Hertz-Hörsaal
Freitag 29.10.202114:0015:30Hertz-Hörsaal
Mittwoch 03.11.202114:0015:30Hertz-Hörsaal
Freitag 05.11.202114:0015:30Hertz-Hörsaal
Mittwoch 10.11.202114:0015:30Hertz-Hörsaal
Freitag 12.11.202114:0015:30Hertz-Hörsaal
Mittwoch 17.11.202114:0015:30Hertz-Hörsaal
Freitag 19.11.202114:0015:30Hertz-Hörsaal
Mittwoch 24.11.202114:0015:30Hertz-Hörsaal
Freitag 26.11.202114:0015:30Hertz-Hörsaal
Mittwoch 01.12.202114:0015:30Hertz-Hörsaal
Freitag 03.12.202114:0015:30Hertz-Hörsaal
Mittwoch 08.12.202114:0015:30Hertz-Hörsaal
Freitag 10.12.202114:0015:30Hertz-Hörsaal
Weihnachten
Mittwoch 12.01.202214:0015:30Hertz-Hörsaal
Freitag 14.01.202214:0015:30Hertz-Hörsaal
Mittwoch 19.01.202214:0015:30Hertz-Hörsaal
Freitag 21.01.202214:0015:30Hertz-Hörsaal
Mittwoch 26.01.202214:0015:30Hertz-Hörsaal
Freitag 28.01.202214:0015:30Hertz-Hörsaal
Mittwoch 02.02.202214:0015:30Hertz-Hörsaal
Freitag 04.02.202214:0015:30Hertz-Hörsaal
Mittwoch 09.02.202214: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

Nr.StandThemaPDF
0020.10.2021Organisatorisches [v2][v2]
  • Seitenzählung leicht angepasst
Download
1020.10.2021Funktionale Programmierung: Einführung, Listen [v2][v2]
  • Seitenzählung leicht angepasst
Download
1120.10.2021Funktionale Programmierung: Funktionen höherer Ordnung, Kombinatoren [v2][v2]
  • Seitenzählung leicht angepasst
Download
1222.10.2021Funktionale Programmierung: Lazy EvaluationDownload
1329.10.2021Funktionale Programmierung: Typen, Beispiele fkt. ProgrammierungDownload
1405.11.2021Funktionale Programmierung: Algebraische Datentypen & Anwendungen [v2][v2]
  • Termersetzung (14.18-14.21) ist kein Zusatzmaterial
Download
1510.11.2021Funktionale Programmierung: Typklassen, QuickCheck [v2][v2]
  • 15.12: Neue Folie zu weiteren Vergleichen Haskell/Java
Download
1605.11.2021Funktionale Programmierung: Zusatzfolien MonadenDownload
2010.11.2021Theoretische Grundlagen: Der untypisierte Lambda-KalkülDownload
2124.11.2021Theoretische Grundlagen: Regelsysteme, Typsysteme [v2][v2]
  • 21.08: hinter dem letzten Pfeil muss \phi statt \gamma stehen
Download
2217.11.2021Theoretische Grundlagen: PolymorphieDownload
3019.11.2021Logische Programmierung: Einführung, BacktrackingDownload
3124.11.2021Logische Programmierung: Arithmetik und Listen, CutsDownload
3230.11.2021Logische Programmierung: Beispielprogramme [v2][v2]
  • 32.02: Ausgabe berichtigt, `simplify`-Ausgabe hinzugefügt
Download
3301.12.2021Logische Programmierung: SpracherweiterungenDownload
3403.12.2021Logische Programmierung: Unifikation und ResolutionDownload
3503.12.2021Logische Programmierung: Constraint Logic ProgrammingDownload
4003.12.2021TypinferenzDownload
4108.12.2021Zusatzfolien: RustDownload
5112.01.2022Parallelprogrammierung: Grundlagen [v2][v2]
  • 14.01: Prozessorbeispiel aktualisiert
Download
5212.01.2022Parallelprogrammierung: C/C++-WiederholungDownload
5314.01.2021Parallelprogrammierung: MPIDownload
5419.01.2022Parallelprogrammierung: Java BasicDownload
5521.01.2022Parallelprogrammierung: Java Advanced und Aktormodell [v2][v2]
  • 07.02.: Folien zu Aktoren in den Anhang verschoben
Download
6026.01.2022Design by ContractDownload
7028.01.2022Compiler: EinführungDownload
7104.02.2022Compiler: Lexikalische und syntaktische Analyse [v4][v2]
  • 17.38ff: Reihenfolge angepasst
[v3]
  • Reihenfolge weiter angepasst
[v4]
  • 71.46: erweitert, kein Z
Download
7202.02.2022Compiler: Semantische AnalyseDownload
7304.02.2022Compiler: Java-Bytecode und CodeerzeugungDownload
8009.02.2022Werbung: Veranstaltungen im SS2022Download
9009.02.2022FragestundeDownload
Der Foliensatz (Snelting-Teil) zum Download: [PDF]
Der Foliensatz (Snelting-Teil) als Druckversion zum Download: [PDF]
Bemerkung: Bei der Druckversion kann es zu Darstellungsfehlern kommen, weil nicht alle Animationen sinnvoll zu einer Folie zusammengefasst werden konnten!

Sonstiges

StandThema
28.10.2021Tiefergehendes Video zu ghc-vis und Laziness: Thunks, Sharing, Laziness: The Haskell Heap Visualized – Joachim Breitner

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
Wissenschaftliche Mitarbeiter
Dr. Jakob von Raumer
Ehemalige Mitarbeiter
Dr.-Ing. Sebastian Ullrich