Zum Inhalt
Fakultät für Informatik

Funktionale Programmierung

Beginn: Ende: Veranstaltungsort: SRG 1/H.001
Veran­stal­tungs­art:
  • Lehrveranstaltungen
Veranstalter: Prof. Dr. Jakob Rehof
Kontaktperson für
organisatorische Fragen:
Felix Laarmann
Veranstaltungsnummer: 040217 (Vorlesung)
040218 (Übung)
Typ: Wahlpflicht-Modul
Modulnummer: INF-BSc-213
SWS: 2 SWS Vorlesung
1 SWS Übung
Ort: SRG 1/H.001
Zeit: Freitags: 10-12 Uhr
Beginn: 14.04.2023
Ende: 14.07.2023

Aktuelles

  • 31.03.22: Die Vorlesung wird einen Moodle Arbeitsraum zur Veröffentlichung der begleitenden Materialien und weitergehenden Organisation nutzen.
  • 09.03.22: Webseite angelegt

Beschreibung

Die Lehrveranstaltung behandelt Konzepte und Anwendungen funktionaler Programmierung anhand der funktionalen Programmiersprache Haskell. Funktionale Programme unterscheiden sich zunächst stark von dem einer objektorientierten, imperativen und zustandsorientierten Sprache wie Java. Sie erlauben aber oft problemnahere und flexiblere Lösungen, die leicht an neue Anforderungen, modifizierte Datenstrukturen, etc. anpassbar sind.
Auf Basis des Buchs "Haskell - Eine Einführung für Objektorientierte" von Prof. Dr. Ernst-Erich Doberkat wird es eine Spracheinführung in Haskell geben. Das Buch ist über die Universitätsbibliothek ausleihbar und als Ebook zu haben.
Neben der Spracheinführung in Haskell wird die Lehrveranstaltung auch grundlegende theoretische Konzepte von (funktionalen) Programmiersprachen betrachten. Hierzu werden unter anderem ausgewählte Themen des Lambda-Kalküls, sowie der Typ- und Kategorientheorie betrachtet.
Abschließend wird es auf Basis der gewonnen Kenntnisse einen Überblick über andere funktionalen Sprachen wie z.B. Coq oder Scala und deren Unterschiede zu Haskell geben.

Vorlesungsmaterial

Vorlesungsmaterialien werden semesterbegleitend im Moodle bereitgestellt.

Die Vorlesung nutzt zur Spracheinführung u.a. die Folien von Prof. Dr. Ernst-Erich Doberkat aus dem WS12/13.

Übung

  • Die Übung zu FuPro ist eine (Online-)Präsenzübung.
  • Die Übung dient der Verstetigung des Vorlesungsinhalts sowie der praktischen Anwendung der erlangten Kenntnisse.
Anmeldung
  • Die Übungsanmeldung wird während der ersten Vorlesung im AsSESS freigeschaltet. Die Anmeldefrist ist Montag, der 11.04.2022 um 18:00 Uhr.
Übungsgruppen
1 Mittwoch 16:15h - 17:00h OH14/ E02 Nicolas Lenz nicolas.lenz@tu-dortmund.de
2 Mittwoch 16:15h - 17:00h OH12/ 2.063 Benedict Smit benedict.smit@tu-dortmund.de
3 Donnerstag

16:30h - 17:15h

Online Nicolas Lenz nicolas.lenz@tu-dortmund.de
4 Freitag 08:15h - 09:00h OH16/ 205 Nicolas Lenz nicolas.lenz@tu-dortmund.de
5 Freitag 08:15h - 09:00h OH12/ 3.031 Benedict Smit benedict.smit@tu-dortmund.de
6 Freitag 12:15h - 13:00h OH16/ 205 Nicolas Lenz nicolas.lenz@tu-dortmund.de
7 Freitag 12:15h - 13:00h OH14/ 304 Benedict Smit benedict.smit@tu-dortmund.de
8 Freitag 12:15h - 13:00h OH14/ 104 Felix Laarmann felix.laarmann@tu-dortmund.de

Übungsaufgaben

Begleitend zur Vorlesung werden wöchentlich Übungsaufgaben im Moodle veröffentlicht und in der darauf folgenden Woche in den Übungsgruppen besprochen.

Es wird dringend empfohlen diese Übungsaufgaben eigenständig zu bearbeiten und eventuell aufkommende Fragen oder Probleme in den Übungsgruppen anzusprechen.

Es wird keine wöchentlichen Abgaben geben.

Studienleistung

Das Erlangen der Studienleistung ist Voraussetzung für die Teilnahme an der abschließenden Klausur.
Die Kriterien der Studienleistung sind wie folgt:

  • Erfolgreiche Teilnahme am Midterm-Test. Dieser findet am 10.06.2022 während der Vorlesungszeit statt.

Tutorium

Während der Vorlesungszeit findet Mittwochs von 14-16h ein Tutorium im OH12/2.013 statt.

Klausuren

Die Klausurtermine sind vorraussichtlich:

  • Die erste Klausur wird unter Vorbehalt am Donnerstag, den 28.07.2022 von 08:00h-10:15h stattfinden.
  • Die zweite Klausur wird unter Vorbehalt am Donnerstag, den 22.09.2022 von 12:00h-14:15h stattfinden.