HOME | ENGLISH | IMPRESSUM | KIT

Programmierparadigmen

Neuigkeiten

10.02.2017 Wie in der Vorlesung angekündigt, findet am Donnerstag, den 30.03.2017, um 11:30 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 (Simon Bischof, Martin Hecker) oder stellen Ihre Fragen im Forum.
26.01.2017 Am Dienstag, 07. Februar, kommt es für die Übungen zu folgenden Raumänderungen:
  • Gruppe 6, 11:30 bis 13:00 Uhr, findet im Raum -120 Informatikbau (50.34) statt
  • Gruppe 8, 14:00 bis 15:30 Uhr, findet im Raum 236 Informatikbau (50.34) statt
25.01.2017 Da die Vorlesungszeit in zwei Wochen endet, wird in den Übungen in der letzten Vorlesungswoche
  • am Montag, 06. Februar, ausschließlich das Thema Parallelprogrammierung, und
  • am Dienstag, 07. Februar, ausschließlich das Thema Compiler/Bytecode
behandelt. Sie dürfen und sollten daher in dieser Woche zwei Übungstermine wahrnehmen.
23.01.2017 Die Anmeldung für die Klausur am 06.04.2017 ist freigeschaltet. Anmeldeschluss ist der 28.03.2017.
09.12.2016 Hinweis: Die hier veröffentlichten Vorlesungs- und Übungsunterlagen sind von den Änderungen rund um §52a UrhG nicht betroffen und bleiben auch nach dem 31.12.2016 hier verfügbar.
25.11.2016 Am Fr., 02.12.2016 findet die Vorlesung statt!.
17.11.2016 Die Vorlesung am Mi., 14.12.2016 entfällt.
Stattdessen findet diese statt am Fr., 16.12.2016.
21.10.2016 Die WebInscribe-Einteilung für die Übungsgruppen ist jetzt verfügbar.
21.10.2016 Hinweis: Da am Dienstag, den 1.11.2016, ein Feiertag ist, bieten wir folgende Ersatztermine an:
  • Lucas Werkmeister: Freitag, den 28.10.2016, 15:45-17:15 Uhr, Raum -119 Informatikbau (50.34)
  • Jonas Sauer: Montag, den 31.10.2016, 9:45-11:15 Uhr, Raum 236 Informatikbau (50.34)
  • Henning Dieterichs: Montag, den 31.10.2016, 17:30-19:00 Uhr, Raum 236 Informatikbau (50.34)
  • Jonas Sauer: Mittwoch, den 2.11.2016, 15:45-17:15 Uhr, Raum 301 Informatikbau (50.34)

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

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

Klausuren

PrüfungszeitraumTagBeginnEndeOrt
WS 2016/17Donnerstag, 06.04.201714:00 Uhr16:00 Uhr Hörsaal am Forum (Audimax), Gebäude 30.95
Gerthsen-Hörsaal Gebäude 30.21
SS 2017Termin wird noch bekannt gegeben.

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

Bitte achten Sie auf Änderungen zu diesem vorläufigen Terminplan, die hier und in der Vorlesung bekannt gegeben werden.
TagDatumBeginnEndeOrt
Mittwoch 19.10.201614:0015:30Hertz-Hörsaal
Freitag 21.10.201614:0015:30Hertz-Hörsaal
Mittwoch 26.10.201614:0015:30Hertz-Hörsaal
Freitag 28.10.201614:0015:30Hertz-Hörsaal
Mittwoch 02.11.201614:0015:30Hertz-Hörsaal
-
Mittwoch 09.11.201614:0015:30Hertz-Hörsaal
Freitag 11.11.201614:0015:30Hertz-Hörsaal
Mittwoch 16.11.201614:0015:30Hertz-Hörsaal
-
Mittwoch 23.11.201614:0015:30Hertz-Hörsaal
Freitag 25.11.201614:0015:30Hertz-Hörsaal
Mittwoch 30.11.201614:0015:30Hertz-Hörsaal
Freitag 02.12.201614:0015:30Hertz-Hörsaal
Mittwoch 07.12.201614:0015:30Hertz-Hörsaal
Freitag 09.12.201614:0015:30Hertz-Hörsaal
Mittwoch 14.12.201614:0015:30Hertz-Hörsaal
Freitag 16.12.201614:0015:30Hertz-Hörsaal
-
-
Weihnachten
-
Mittwoch 11.01.201714:0015:30Hertz-Hörsaal
Freitag 13.01.201714:0015:30Hertz-Hörsaal
Mittwoch 18.01.201714:0015:30Hertz-Hörsaal
Freitag 20.01.201714:0015:30Hertz-Hörsaal
Mittwoch 25.01.201714:0015:30Hertz-Hörsaal
Freitag 27.01.201714:0015:30Hertz-Hörsaal
Mittwoch 01.02.201714:0015:30Hertz-Hörsaal
-
Mittwoch 08.02.201714:0015:30Hertz-Hörsaal
Freitag 10.02.201714: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
18.10.2016Organisatorisches [v1.0.1]

[v1.0.1]

  • Änderungen vorläufiger Zeitplan
Download
21.10.2016Funktionale Programmierung: Einführung, Listen [v1.0.1]

[v1.0.1]

  • kleine Änderungen: diverse Beispiele
Download
27.10.2016Funktionale Programmierung: Funktionen höherer Ordnung, Kombinatoren [v1.0.3]

[v1.0.3]

  • kleine Änderungen: diverse Beispiele

[v1.0.2]

  • minmale Änderungen: (Reihenfolge von) Beispielen

[v1.0.3]

  • weiteres foldr-Beispiel
Download
27.10.2016Funktionale Programmierung: Lazy Evaluation [v1.0.2]

[v1.0.1]

  • hinzugefügt: Daniel P. Friedman

[v1.0.2]

  • Folien-Reihenfolge geändert
Download
03.11.2016Funktionale Programmierung: Typen, Beispiele fkt. Programmierung [v1.0.1]

[v1.0.1]

  • Alternative: 8-Damen, und: Gummibären \o/
Download
31.10.2016Funktionale Programmierung: Algebraische Datentypen & Anwendungen [v1.0.2]

[v1.0.1]

  • Folien-Reihenfolge geändert: 108/109

[v1.0.2]

  • Literaturverweise hinzugefügt
Download
31.10.2016Funktionale Programmierung: Typklassen, QuickCheck [v1.0.1]

[v1.0.1]

  • kleine Änderungen auf Folie 133, 137
  • Literaturverweise hinzugefügt
Download
07.11.2016Funktionale Programmierung: Zusatzfolien MonadenDownload
09.11.2016Theoretische Grundlagen: Der untypisierte Lambda-KalkülDownload
25.11.2016Theoretische Grundlagen: Regelsysteme, Typsysteme [v1.0.2]

[v1.0.1]

  • kleine Ergänzungen auf Folie 193, 203

[v1.0.2]

  • 2 neue Zusatzfolien
Download
21.11.2016Theoretische Grundlagen: PolymorphieDownload
23.11.2016Logische Programmierung: Einführung, BacktrackingDownload
30.11.2016Logische Programmierung: Arithmetik und Listen, CutsDownload
05.12.2016Logische Programmierung: BeispielprogrammeDownload
09.12.2016Logische Programmierung: SpracherweiterungenDownload
09.12.2016Logische Programmierung: Unifikation und Resolution [v1.0.1]

[v1.0.1]

  • geänderte Seitenzahlen
Download
09.12.2016Logische Programmierung: Constraint Logic ProgrammingDownload
14.12.2016TypinferenzDownload
09.01.2017Parallelprogrammierung: GrundlagenDownload
09.01.2017Parallelprogrammierung: C/C++-WiederholungDownload
11.01.2017Parallelprogrammierung: MPIDownload
16.01.2017Parallelprogrammierung: JavaDownload
18.01.2017Parallelprogrammierung: AktormodellDownload
23.01.2017Parallelprogrammierung: X10Download
23.01.2017Design by ContractDownload
25.01.2017Compiler: EinführungDownload
01.02.2017Compiler: Lexikalische und syntaktische Analyse [v1.0.1]

[v1.0.1]

  • weiteres Beispiel zu Links-/Rechtsableitung
Download
30.01.2017Compiler: Semantische AnalyseDownload
09.02.2017Compiler: Java-Bytecode und Codeerzeugung [v1.0.3]

[v1.0.1]

  • vorerst: Hinweise auf Veranstaltungen im SS entfernt

[v1.0.2]

  • Folie "Activation Records (Stackframe)" verschoben, ein wenig erweitert

[v1.0.3]

  • Folie "Methodenaufrufe" aktualisiert
Download
08.02.2017Werbung: Veranstaltungen im SS2017Download
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.2016Beispielimplementierungen Typinferenz (Haskell, Prolog) und Unifikation (Union/Find und Robinson, Haskell)Download
28.01.2017Beispielcompiler für Simple-SpracheDownload
Lambda-Kalkül mit Krokodilen als Android-App

Altklausuren

Klausuren mit Beispiellösungen.
StandThemaPDF
Sommersemester 2012 Klausur vom 21. September 2012 Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2012/2013 Klausur vom 10. April 2013 Download (ohne Lösungen)
Download (mit Lösungen)
Sommersemester 2013 Klausur vom 01. Oktober 2013 Download (ohne Lösungen)
Download (mit Lösungen)
Wintersemester 2013/2014 Klausur vom 10. April 2014 Download (ohne Lösungen)
Download (mit Lösungen)
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)

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)

Veranstalter

Lehrstuhlinhaber
Prof. Gregor Snelting
Wissenschaftliche Mitarbeiter
Simon Bischof
Martin Hecker