HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

24.10.2023 Der Notenschlüssel für die Klausur ist hier zu finden.
18.10.2023 Die Klausureinsicht findet am Donnerstag, 26.10.2023, von 8:00 bis 9:30 im Hörsaal -101 im Informatik-Gebäude (50.34) statt, bitte seien Sie pünktlich.
25.9.2023 Entgegen vorheriger Informationen auf dieser Webseite findet die Sommersemester-Klausur im Gerthsen-Hörsaal statt.
14.9.2023 Falls Sie für eine Arbeitsstelle o.ä. 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 WS2023/24 sollten die Noten rechtzeitig eingetragen sein, da die Ummeldung noch bis Ende November erfolgen kann. Sie sollten in diesem Fall keine 4,0-Bescheinigung benötigen.

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.

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

Termine

Bitte achten Sie auf Änderungen zu diesem vorläufigen Terminplan, die hier und in der Vorlesung bekannt gegeben werden.
TagDatumBeginnEndeOrt
Mittwoch 26.10.202214:0015:30Hertz-Hörsaal
Freitag 28.10.202214:0015:30Hertz-Hörsaal
Mittwoch 02.11.202214:0015:30Hertz-Hörsaal
Freitag 04.11.202214:0015:30Hertz-Hörsaal
Mittwoch 09.11.202214:0015:30Hertz-Hörsaal
Freitag 11.11.202214:0015:30Hertz-Hörsaal
Mittwoch 16.11.202214:0015:30Hertz-Hörsaal
Freitag 18.11.202214:0015:30Hertz-Hörsaal
Mittwoch 23.11.202214:0015:30Hertz-Hörsaal
Freitag 25.11.202214:0015:30Hertz-Hörsaal
Mittwoch 30.12.202214:0015:30Hertz-Hörsaal
Freitag 02.12.202214:0015:30Hertz-Hörsaal
Mittwoch 07.12.202214:0015:30Hertz-Hörsaal
Freitag 09.12.202214:0015:30Hertz-Hörsaal
Mittwoch 14.12.202214:0015:30Hertz-Hörsaal
Weihnachten
Mittwoch 11.01.202314:0015:30Hertz-Hörsaal
Freitag 13.01.202314:0015:30Hertz-Hörsaal
Mittwoch 18.01.202314:0015:30Hertz-Hörsaal
Freitag 20.01.202314:0015:30Hertz-Hörsaal
Mittwoch 25.01.202314:0015:30Hertz-Hörsaal
Freitag 28.01.2023Keine Vorlesung!
Mittwoch 01.02.202314:0015:30Hertz-Hörsaal
Freitag 03.02.202314:0015:30Hertz-Hörsaal
Mittwoch 08.02.202314:0015:30Hertz-Hörsaal
Freitag 10.02.202314: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
0025.10.2022OrganisatorischesDownload
1025.10.2022Funktionale Programmierung: Einführung, ListenDownload
1125.10.2022Funktionale Programmierung: Funktionen höherer Ordnung, KombinatorenDownload
1214.11.2022Funktionale Programmierung: Lazy Evaluation [v2][v2]
  • Fehler auf den Grafiken für 'odds' korrigiert.
Download
1310.11.2022Funktionale Programmierung: Typen, Beispiele fkt. Programmierung [v2][v2]
  • Funktion 'any' erklärt.
Download
1401.11.2022Funktionale Programmierung: Algebraische Datentypen & AnwendungenDownload
1514.11.2022Funktionale Programmierung: Typklassen, QuickCheckDownload
1614.11.2022Funktionale Programmierung: Zusatzfolien MonadenDownload
2017.11.2022Theoretische Grundlagen: Der untypisierte Lambda-KalkülDownload
2117.11.2022Theoretische Grundlagen: Regelsysteme, TypsystemeDownload
2223.11.2022Theoretische Grundlagen: PolymorphieDownload
3023.11.2022Logische Programmierung: Einführung, BacktrackingDownload
3123.11.2022Logische Programmierung: Arithmetik und Listen, CutsDownload
3223.11.2022Logische Programmierung: BeispielprogrammeDownload
3307.12.2022Logische Programmierung: SpracherweiterungenDownload
3407.12.2022Logische Programmierung: Unifikation und ResolutionDownload
3507.12.2022Logische Programmierung: Constraint Logic ProgrammingDownload
4007.12.2022TypinferenzDownload
4107.12.2022Zusatzfolien: RustDownload
5111.01.2023Parallelprogrammierung: GrundlagenDownload
5211.01.2023Parallelprogrammierung: C/C++-WiederholungDownload
5313.01.2023Parallelprogrammierung: MPI [v2][v2]
  • Deklaration sendbuffer in Message Exchange Beispiel
Download
5418.01.2023Parallelprogrammierung: Java Basic [v2][v2]
  • int statt void als Rückgabetyp bei Lambda-Ausdrücken
Download
5520.01.2023Parallelprogrammierung: Java Advanced und Aktormodell [v2][v2]
  • collect-Operation: mutable result container
Download
6025.01.2023Design by ContractDownload
7002.02.2023Compiler: EinführungDownload
7109.02.2023Compiler: Lexikalische und syntaktische Analyse [v3][v2]
  • Zusätzliche Folie zum Rekursiven Abstieg eingefügt.
[v3]
  • Fehler in der Verwendung von 'break' korrigiert.
Download
7202.02.2023Compiler: Semantische AnalyseDownload
7302.02.2023Compiler: Java-Bytecode und CodeerzeugungDownload
8009.02.2023Werbung: Veranstaltungen im SommersemesterDownload
9009.02.2023FragestundeDownload

Sonstiges

StandThema
28.10.2022Tiefergehendes Video zu ghc-vis und Laziness: Thunks, Sharing, Laziness: The Haskell Heap Visualized – Joachim Breitner
16.12.2022Beispielimplementierungen Typinferenz (Haskell, Prolog) und Unifikation (Union/Find und Robinson, Haskell)
14.02.2023Beispielcompiler für Simple-Sprache (Java)

Klausuren

PrüfungszeitraumTagBeginnEndeOrt
WS 2022/23Freitag, 31.03.202311:30 Uhr13:30 Uhr
SS 2023Freitag, 29.09.202308:00 Uhr10:00 UhrGerthsen-Hörsaal, Gebäude 30.21

Ihre Plätze werden fest zugewiesen. Beachten Sie diesbezüglich die Platzaushänge vor Ort, die an den Eingangstüren zum Hörsaal angebracht sind, um möglichst einfach ihren Platz zu finden.

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!

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
Sebastian Graf