HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

25.10.2016 Die Klausurergebnisse der Nachklausur sind im QISPOS- bzw. Campus-System eingetragen.
20.10.2016 Die Klausurergebnisse hängen nun aus!

Hier noch einmal der Hinweis: Studierende, die in die mündliche Nachprüfung müssen, melden sich bitte so schnell wie möglich per Mail beim Sekretariat, um ihren Termin zu bestätigen.

13.10.2016 Der Ablaufplan zur Nachklausur vom 22. September 2016 steht nun fest:
  • Aushang der Klausurergebnisse am 20.10.2016; Aushang Gebäude 50.34, gegenüber der Informatik-Bibliothek und gegenüber des Sekretariats des Lehrstuhls.
  • Klausureinsicht am Dienstag, den 25.10.2016, 14:00 Uhr in Raum 010 im Informatik-Gebäude (50.34).
  • Mündliche Nachprüfungen finden am 27.10.2016, 28.10.2016 und 31.10.2016 statt. Die genauen Termine werden zusammen mit den Klausurergebnissen bekannt gegeben. Betroffene Studierende werden gebeten, sich nach Bekanntgabe der Ergebnisse so schnell wie möglich per Mail beim Sekretariat zu melden, um ihren Termin zu bestätigen.
  • Für 4.0-Bescheinigungen schreiben Sie bitte eine Mail an das Sekretariat und geben Sie Ihren vollen Namen sowie Ihre Matrikelnummer an. Sollten Sie Probleme mit Fristen bekommen, kommen Sie bitte zu Prof. Snelting in die Sprechstunde.
23.08.2016 Die Nachklausur findet am 22.09.2016 um 11:00 Uhr im HSAF statt.
11.05.2016 Die Noten sind im QISPOS- bzw. Campus-System eingetragen.
09.05.2016 Die mündlichen Nachprüfungen finden in Raum 021, Gebäude 50.34 (Informatikbau) statt.
03.05.2016 Die mündlichen Nachprüfungen finden in folgenden Zeiträumen statt:
  • 13.05.2016, 10-12 Uhr
  • 17.05.2016, 10-12 Uhr
  • 17.05.2016, 14-16 Uhr
  • 18.05.2016, 14:30 Uhr - 16:30 Uhr
Betroffene Studierende werden per E-Mail und schriftlich über ihren genauen Termin informiert.
03.05.2016 Die Klausurergebnisse hängen nun aus.
18.04.2016 Hier eine Konkretisierung des weiteren Ablaufs bezüglich der Klausur:
  • Die Klausurergebnisse zur Hauptklausur vom 07.04.2016 werden voraussichtlich am 04.05.2016 ausgehängt (Gebäude 50.34, gegenüber von der Informatik-Bibliothek und gegenüber des Sekretariats des Lehrstuhls).
  • Die Klausureinsicht findet am 10.05.2016 zwischen 14:00 Uhr und 16:00 Uhr im Raum 010 im Informatik-Gebäude (50.34) statt.
  • Etwaige mündliche Nachprüfungen werden voraussichtlich am 12.05.2016 13.05.2016 und 17.05.2016 stattfinden. Die genauen Termine werden zusammen mit den Klausurergebnissen bekannt gegeben. Betroffene Studierende werden gebeten, sich nach Bekanntgabe der Ergebnisse so schnell wie möglich per Mail beim Sekretariat zu melden, um ihren Termin zu bestätigen.
  • Falls Sie eine 4.0-Bescheinigung benötigen, schreiben Sie bitte eine kurze disbezü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.
08.04.2016 Die Klausurergebnisse werden voraussichtlich Anfang Mai bekannt gegeben. 4,0-Bescheinigungen können in manchen Fällen bereits früher ausgestellt werden, ein Rechtsanspruch darauf besteht jedoch nicht. Besuchen Sie ggf. die Sprechstunde von Prof. Snelting.
06.04.2016 Die Hörsaaleinteilung steht nun fest.
04.04.2016 Eine Druckversion der Folien (ohne Animationen) steht nun zum Download bereit. Auf Folien mit Animationen kann es zu Darstellungsfehler kommen.
01.03.2016 Wie in den Tutorien angekündigt, findet am 1. April 2016 um 14:00 in Raum -101 (Informatik-Gebäude (50.34)) eine Klausur-Fragestunde statt. Idealerweise schicken Sie schon vor dem Termin Ihre Fragen per E-Mail an Ihren Tutor.
04.02.2016 Hinweis: Da die Vorlesungszeit nächste Woche endet, finden am Freitag, den 12.02.2016, um 14:00 statt der Vorlesung Zusatztutorien statt. In diesen Zusatztutorien wird das Übungsblatt 13 zum Themenbereich Compiler besprochen.
  • Andreas Fried: Raum -133 im Allgemeinen Verfügungsgebäude (50.41)
  • Michael Hoff: Raum -134 im Allgemeinen Verfügungsgebäude (50.41)
  • Jonas Sauer: Raum -120 im Informatik-Gebäude (50.34)
  • Lucas Werkmeister: Raum 301 im Informatik-Gebäude (50.34)
09.12.2015 Achtung, Änderung im Terminplan: Vorlesung am 11.12.2015 fällt aus! (korrigiert! Vorher war vom in der Vergangenheit liegenden 04.12.2015 die Rede, was natürlich Unsinn war.)
23.11.2015 Achtung, Änderung im Terminplan: Vorlesung am 4.12.2015 findet statt!
17.11.2015 Achtung, Änderung im Terminplan: Keine Vorlesung am 27.11.2015! Der Termin wird auf den 20.11.2015 vorgezogen.
26.10.2015 Die Probleme mit WebInscribe sind seit gestern Abend behoben.
25.10.2015 Leider scheint es derzeit Probleme mit dem WebInscribe zu geben. Falls Sie dort kein Einteilungsergebnis angezeigt bekommen, können Sie es alternativ hier abrufen. Genauere Informationen hierzu finden Sie im Forum.
23.10.2015 Die WebInscribe-Einteilung für die Übungsgruppen ist jetzt verfügbar.
19.10.2015 Seit heute ist die Anmeldung zu den Übungsgruppen über WebInscribe eröffnet. Sie endet am Freitag, den 23.10.2015 um 16:30 Uhr

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, Lamda-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, Scala, Prolog, CLP, C++, X10, Java Byte Code.

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

Klausuren

KlausurTagBeginnEndeOrt
HauptklausurDonnerstag, 07.04.201614:00 Uhr16:00 Uhr Hörsaal am Forum (Audimax, Gebäude 30.95)
Hörsaal am Fasanengarten(HSaF, Gebäude 50.35)
NachklausurMontag, 22.09.201611:00 Uhr13:00 Uhr Hörsaal am Fasanengarten(HSaF, Gebäude 50.35)

Zuteilung Hauptklausur

MatrikelnummerOrt
0000000 bis 1745000Hörsaal am Forum (Audimax, Gebäude 30.95)
1745001 bis 9999999Hörsaal am Fasanengarten(HSaF, Gebäude 50.35)

in Haskell-Notation:

  hoersaalZuordnung stud
    | matr stud <= 1745000 = Audimax
    | matr stud >= 1745001 = HSaF

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)

Termine

TagBeginnEndeOrt
Mittwoch, 21.10.201514:0015:30Hertz-Hörsaal
Freitag, 23.10.201514:0015:30Hertz-Hörsaal
Mittwoch, 28.10.201514:0015:30Hertz-Hörsaal
Freitag, 30.10.201514:0015:30Hertz-Hörsaal
Mittwoch, 04.11.201514:0015:30Hertz-Hörsaal
Freitag, 06.11.201514:0015:30Hertz-Hörsaal
Mittwoch, 11.11.201514:0015:30Hertz-Hörsaal
Mittwoch, 18.11.201514:0015:30Hertz-Hörsaal
Freitag, 20.11.201514:0015:30Hertz-Hörsaal
Mittwoch, 25.11.201514:0015:30Hertz-Hörsaal
Freitag, 27.11.201514:0015:30Hertz-Hörsaal
Mittwoch, 02.12.201514:0015:30Hertz-Hörsaal
Freitag, 04.12.201514:0015:30Hertz-Hörsaal
Mittwoch, 09.12.201514:0015:30Hertz-Hörsaal
Freitag, 11.12.201514:0015:30Hertz-Hörsaal
Mittwoch, 16.12.201514:0015:30Hertz-Hörsaal
Freitag, 08.01.201614:0015:30Hertz-Hörsaal
Mittwoch, 13.01.201614:0015:30Hertz-Hörsaal
Freitag, 15.01.201614:0015:30Hertz-Hörsaal
Mittwoch, 20.01.201614:0015:30Hertz-Hörsaal
Freitag, 22.01.201614:0015:30Hertz-Hörsaal
Mittwoch, 27.01.201614:0015:30Hertz-Hörsaal
Mittwoch, 03.02.201614:0015:30Hertz-Hörsaal
Freitag, 05.02.201614:0015:30Hertz-Hörsaal
Mittwoch, 10.02.201614:0015:30Hertz-Hörsaal
weitere Termine werden zeitnah bekanntgegeben

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
21.10.2015OrganisatorischesDownload
21.10.2015Funktionale Programmierung: Einführung, ListenDownload
23.10.2015Funktionale Programmierung: Funktionen höherer Ordnung, KombinatorenDownload
28.10.2015Funktionale Programmierung: Lazy EvaluationDownload
29.10.2015Funktionale Programmierung: Typen, Beispiele fkt. Programmierung [v1.0.1]
  • Neue erste Folie: "Wozy Typen?"
  • Folie 98 (ehemals 97) jetzt Zusatzstoff
Download
29.10.2015Funktionale Programmierung: Algebraische Datentypen & AnwendungenDownload
19.11.2015Funktionale Programmierung: Typklassen, QuickCheck [v1.0.3]

[v1.0.1]

  • Folie 134 vor Folie 132
  • Ergänzung auf Folie 133 (ehemals Folie 134)
  • Folie 146: andere Implementierung von isSorted
  • Folie 146: overfull box beseitigt

[v1.0.2]

Tippfehler auf Folie 146 beseitigt

[v1.0.3]

Fehler auf Folie 133 beseitigt: lexikographische Ordnung auch im Code!
Download
10.11.2015Funktionale Programmierung: Zusatzfolien Monaden [v1.0.1]

[v1.0.1]

  • Beispielprogramm mit do-Syntax auf erster Folie ergänzt
  • Neues Anwendungsbeispiel: monadischer QuickTest-Testdatengenerator
Download
11.11.2015Theoretische Grundlagen: Der untypisierte Lambda-Kalkül [v1.0.1]

[v1.0.1]

  • Krokodile sind Zusatzstoff!
  • Folie 172 und 173 vertauscht
Download
20.11.2015Theoretische Grundlagen: Regelsysteme, Typsysteme [v1.0.2]

[v1.0.1]

Regeln auf Folie 193 korrigiert

[v1.0.2]

Beweis auf Folie 203 etwas vereinfacht
Download
19.11.2015Theoretische Grundlagen: PolymorphieDownload
20.11.2015Logische Programmierung: Einführung, BacktrackingDownload
04.12.2015Logische Programmierung: Arithmetik und Listen, Cuts [v1.0.3]

[v1.0.1]

  • Unifikationsbeispiele eingefügt (Folie 237)
  • Beispiel "Acht Damen" eingefügt (Folie 248ff.; wäre Folie 247ff. im alten Foliensatz)

[v1.0.2]

  • Fehler auf Folie 237 beseitigt
  • ein paar Tippfehler beseitigt
  • Folie 255 geändert

[v1.0.3]

Folie 257 animiert und detaillierter
Download
01.12.2015Logische Programmierung: BeispielprogrammeDownload
08.12.2015Logische Programmierung: Unifikation und ResolutionDownload
08.12.2015Logische Programmierung: Spracherweiterungen, Constraint Logic ProgrammingDownload
14.12.2015TypinferenzDownload
06.01.2016Parallelprogrammierung: Grundlagen [v1.0.1]Download
06.01.2016Parallelprogrammierung: C/C++-Wiederholung [v1.0.2]

[v1.0.2]

  • Fehler im Beispiel der Precedence Regel korrigiert. Static wird durch die Regel nicht abgedeckt. (Folien 21-24)
Download
13.01.2016Parallelprogrammierung: MPI [v1.0.1]

[v1.0.1]

  • Fehler bei ReduceScatter korrigiert (Folie 33)
Download
15.01.2016Parallelprogrammierung: Java [v1.0.3]

[v1.0.2]

  • Wait wird nun in beiden Fällen auf dem richtigen Monitor aufgerufen (Folie 36)

[v1.0.3]

  • Folie 36: nochmals korrigiert. wait und notifyAll arbeiten hier natürlich alle auf this!
Download
20.01.2016Parallelprogrammierung: X10Download
22.01.2016Parallelprogrammierung: ScalaDownload
22.01.2016Design by ContractDownload
25.01.2016Compiler: EinführungDownload
04.02.2016Compiler: Lexikalische und syntaktische Analyse [v1.0.2]

[v1.0.1]

  • kleinere Korrekturen/Ergänzungen auf den Folien 348, 360 und 370
  • Simple-Grammatik repariert (Folie 367/368)

[v1.0.2]

  • kleine Korrekturen/Ergänzungen auf den Folien 380/381 bzw. 387/388
Download
04.02.2016Compiler: Semantische AnalyseDownload
10.02.2016Compiler: Java-Bytecode und Codeerzeugung [v1.0.1]

[v1.0.1]

  • Methodenaufruf und Activation Records an einem Beispiel gezeigt (neue Folien 404-409)
  • Beispiel für Bytecodeerzeugung für arithmetische Ausdrücke (jetzt Folie 418f.) hat jetzt Variablen
  • kleine Modifikation auf Folie 424
Download
Der ganze Foliensatz (Snelting-Teil) zum Download: [PDF] [PDF4].
Der ganze 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!
Der ganze Foliensatz (Reussner-Teil) zum Download: [PDF]

Zusätzliche Informationen

Lambda-Kalkül mit Krokodilen als Android-App

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)

Sonstiges

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. Martin Mohr
Dr.-Ing. Manuel Mohr