Funktionale Programmierung
- 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.