Zum Inhalt
Fakultät für Informatik

Funktionale Programmierung

Beginn: Ende: Veranstaltungsort: SRG 1/H.001
Veran­stal­tungs­art:
  • Sommersemester 2024
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: 12.04.2024
Ende: 19.07.2024

Aktuelles

  • 18.03.24: Die Vorlesung wird einen Moodle Arbeitsraum zur Veröffentlichung der begleitenden Materialien und weitergehenden Organisation nutzen.
  • 02.01.24: 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 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 Freitag, der 12.04.2024 um 18:00 Uhr.
Übungsgruppen
Gruppe Wochentag Zeit Ort
1 Montag 10:15h-11:00h OH12/1.055
2 Dienstag 08:15h-09:00h OH14/104
3 Mittwoch 10:15h-11:00h OH12/1.054
4 Mittwoch 16:15h-17:00h OH14/E02
5 Freitag 08:15h-09:00h OH16/205
6 Freitag 12:15h-13:00h OH14/104

Ü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 während der Vorlesungszeit statt. Der Termin wird noch bekannt gegeben

Tutorium

Während der Vorlesungszeit wird zusätzlich zu den Übungen ein Tutorium angeboten.

Das Tutorium dient der

  • Erläuterung zentraler Begriffe anhand konkreter Beispiele
  • Vorstellung von Lösungen alter Übungs- und Klausuraufgaben
  • Vermittlung von Techniken zur Lösung von Aufgaben
  • Diskussion häufiger Fehler.

Das Tutorium findet am Freitag, den 26.04.2024 und Freitag, den 03.05.24 von 14h-16h im Raum OH12/2.013 statt.

Danach findest es Mittwochs von 14h-16h im Raum OH12/2.013 statt.

Klausuren

Die Klausurtermine sind voraussichtlich:

  • Donnerstag, der 25.07.2024, von 13:00h-15:00h im HG2/HS1
  • Mittwoch, der 18.09.2024, von 08:00h-10:00h im SRG1/H.001