Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

Funktionale Programmierung

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: Online
Zeit: Freitags: 10-12 Uhr
Beginn: 16.04.2021
Ende: 23.07.2021

Aktuelles


Beschluss des Prüfungsausschuss bzgl. der Studienleistungen aus den letzten Veranstaltungen

Nach dem Beschluss des Prüfungsausschuss vom 11.09.2019 bleiben Modulprüfungen sowie Fehlversuche bestehen. 

Zusätzlich kam der Prüfungsausschuss  zu folgendem Beschluss:

Herr Rehof hat die Veranstaltung FuPro übernommen, diese fand früher im WiSe statt und wird jetzt im SoSe angeboten. Es gibt teilweise nicht mehr gültige Studienleistungen bei Studierenden. Es wird einstimmig beschlossen, dass die Studienleistungen bis zur 1. Prüfungsmöglichkeit der Studierenden gültig bleiben.

Gemeint sind Studienleistungen, die bei normalem Turnus ausreichend lange gültig gewesen wären.

Falls es noch Fragen oder Unklarheiten gibt, schreiben Sie mir bitte eine Mail (felix.laarmann@tu-dortmund.de).


  • 09.09.2021: Die Noten der zweiten Klausur wurden im BOSS eingetragen.
  • 06.09.2021: Der Lösungsbogen der zweiten Klausur ist unter "Klausuren" verfügbar.
  • 30.08.2021: Der Termin für die Klausureinsicht der zweiten Klausur ist der 17.09.2021. Weiter Informationen finden Sie unter "Klausuren".
  • 29.07.2021: Die Noten der ersten Klausur wurden im BOSS eingetragen.
  • 27.07.2021: Die Zugangsdaten zur ersten Klausur sind online.
  • 26.07.2021: Der Lösungsbogen der ersten Klausur ist unter "Klausuren" verfügbar.
  • 26.07.2021: Der Termin für die Klausureinsicht der ersten Klausur ist der 10.08.2021. Weiter Informationen finden Sie unter "Klausuren".
  • 23.07.2021: Die Vorlesungsfolien und Aufzeichnung der 15. Vorlesung sind nun verfügbar.
  • 16.07.2021: Die Vorlesungsfolien und Aufzeichnung der 14. Vorlesung sind nun verfügbar.
  • 15.07.2021: Die Lösungsvorschläge aller Übungen sind jetzt verfügbar.
  • 09.07.2021: Der Link zur Lehreevaluation aus der Vorlesung: Link
  • 09.07.2021: Die Probeklausur ist über Sciebo verfügbar. Im Vorlesungsvideo zur 13. Vorlesung finden Sie Infos zur Probeklausur und Sciebo. Wir besprechen die Probeklausur in der letzten Übung.
  • 09.07.2021: Die Vorlesungsfolien und Aufzeichnung der 13. Vorlesung sind nun verfügbar.
  • 02.07.2021: Die 12. Übungsdatei (Abgabe bis 08.07.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 12. Vorlesung sind nun verfügbar.
  • 25.06.2021: Die 11. Übungsdatei (Abgabe bis 01.07.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 11. Vorlesung sind nun verfügbar.
  • 18.06.2021: Die zehnte Übungsdatei (Abgabe bis 24.06.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 10. Vorlesung sind nun verfügbar.
  • 11.06.2021: Die neunte Übungsdatei (Abgabe bis 17.06.2021, 23:59h)  sowie die Aufzeichnung  der 9. Vorlesung sind nun verfügbar.
  • 11.06.2021: Die Lösungsvorschläge für die Übungen 3 - 5 sind nun unter "Übungsaufgaben" verfügbar.
  • 04.06.2021: Die achte Übungsdatei (Abgabe bis 10.06.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 8. Vorlesung sind nun verfügbar.
  • (!!!) Wichtig: Am Mittwoch, den 02.06.2021 ist ab 14h die Fachschaftsvollversammlung und damit veranstaltungsfrei. Am Donnerstag, den 03.06.2021 ist ein Feiertag. Alle Übungen zu den genannten Zeiten fallen daher aus. Die Abgabe am Donnerstag findet trotzdem wie gewohnt statt. Wir werden daher am Freitag, den 04.06.2021 um 14h einen zusätzlichen Übungstermin mit anschließendem "Helpdesk/Fragestunde" für alle anbieten. Sie können gerne auf die Dienstags-Übungstermine oder den Zusatztermin ausweichen. Bei Fragen zu ihrer Abgabe können Sie uns natürlich auch jederzeit eine Mail schreiben.
  • 28.05.2021: Die siebte Übungsdatei (Abgabe bis 03.06.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 7. Vorlesung sind nun verfügbar.
  • 24.05.2021: Bei uebung6.hs hat sich leider noch ein Fehler versteckt. Beim Typ von foldExpr fehlte noch ein Argument vom Typ (a -> a -> a). Die geupdatete Version ist jetzt verfügbar.
  • 21.05.2021: Bei uebung6.hs hatte sich leider der Fehlerteufel in einem Beispielaufruf eingeschlichen. Das wurde jetzt verbessert. Danke für den Hinweis!
  • 21.05.2021: Die sechste Übungsdatei (Abgabe bis 27.05.2021, 23:59h), sowie die Vorlesungsfolien und Aufzeichnung der 6. Vorlesung sind nun verfügbar.
  • 14.05.2021: Die Vorlesungsfolien, sowie die Aufzeichnung der fünften Vorlesung sind unter "Vorlesungsmaterial" verfügbar.
  • 14.05.2021: Die fünfte Übungsdatei (Abgabe bis 20.05.2021, 23:59h) und der Lösungsvorschlag für Übung 2 sind unter "Übungsaufgaben" verfügbar.
  • Wichtig: Am Donnerstag, den 13.05.2021, ist ein Feiertag. Die Übungen fallen daher aus. Sie können auf die Dienstags und Mittwochs Termine ausweichen. Falls es Fragen gibt können Sie gerne auch eine Mail schreiben. Da die Abgabe online stattfindet und der Server keinen Feiertag kennt, sind lediglich die Übungen betroffen, nicht die Abgabefrist von uebung4.hs.
  • 07.05.2021: Der Lösungsvorschlag für Übung 1 ist unter "Übungsaufgaben" verfügbar.
  • 07.05.2021: Die Aufzeichnung der vierten Vorlesung ist unter "Vorlesungsmaterial" verfügbar.
  • 07.05.2021: Die Vorlesungsfolien der vierten Vorlesung sind unter "Vorlesungsmaterial" verfügbar.
  • 07.05.2021: Die vierte Übungsdatei (Abgabe bis 13.05.2021, 23:59h) ist unter "Übungsaufgaben" verfügbar.
  • 30.04.2021: Die Aufzeichnung der dritten Vorlesung ist unter "Vorlesungsmaterial" verfügbar.
  • 30.04.2021: Die Vorlesungsfolien der dritten Vorlesung sind unter "Vorlesungsmaterial" verfügbar.
  • 30.04.2021: Die dritte Übungsdatei (Abgabe bis 06.05.2021, 23:59h) ist unter "Übungsaufgaben" verfügbar.
  • 27.04.2021: Die Klausurtermine stehen fest.
  • 27.04.2021: Die ersten beiden Vorlesungsaufzeichnungen sind unter "Vorlesungsmaterial" verfügbar.
  • 23.04.2021: Die Vorlesungsfolien der zweiten Vorlesung sind unter "Vorlesungsmaterial" verfügbar.
  • 23.04.2021: Die zweite Übungsdatei (Abgabe bis 29.04.2021, 23:59h) ist unter "Übungsaufgaben" verfügbar.
  • 16.04.2021: Die Vorlesungsfolien der ersten Vorlesung sind unter "Vorlesungsmaterial" verfügbar.
  • 16.04.2021: Das Präsenzblatt für die erste Übung, sowie die erste Übungsdatei (Abgabe bis 22.04.2021, 23:59h) sind unter "Übungsaufgaben" verfügbar.
  • 16.04.2021: Die Übungsanmeldung im AsSESS wird heute um 12:00h freigeschaltet.
  • Die Vorlesung fand online mittels Zoom statt.

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

Vorlesungsfolien werden semesterbegleitend bereitgestellt.

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

Datum Folien Aufzeichnung
23.07.2021 FuPro_2021_VL15 FuPro_VL15.mp4
16.07.2021 FuPro_2021_VL14 FuPro_VL14.mp4
09.07.2021 FuPro_2021_VL13 FuPro_VL13.mp4
02.07.2021

   

    

FuPro_VL12.mp4
25.06.2021 FuPro_2021_VL11 FuPro_VL11.mp4
18.06.2021 FuPro_2021_VL10 FuPro_VL10.mp4
11.06.2021 Doberkat-Folien S.298-324 FuPro_VL9.mp4
04.06.2021 FuPro_2021_VL8 FuPro_VL8.mp4
28.05.2021 FuPro_2021_VL7 FuPro_VL7.mp4
21.05.2021 FuPro_2021_VL6 FuPro_VL6.mp4
14.05.2021 FuPro_2021_VL5 FuPro_VL5.mp4
07.05.2021 FuPro_2021_VL4 FuPro_VL4.mp4
30.04.2021 FuPro_2021_VL3 FuPro_VL3.mp4
23.04.2021 FuPro_2021_VL2  FuPro_VL2.mp4
16.04.2021 FuPro_2021_VL1 FuPro_VL1.mp4

Ü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 innerhalb der ersten Vorlesungswoche im AsSESS freigeschaltet. Die Anmeldefrist ist Montag, der 19.04.2021 um 18:00 Uhr.

Übungsgruppen

Gruppe Wochentag Zeit Tutor Email
1 Dienstag 14:15h - 15:00h Nicolas Lenz nicolas.lenz@tu-dortmund.de
2 Dienstag 15:15h - 16:00h Nicolas Lenz
3 Mittwoch 14:15h - 15:00h Nicolas Lenz
4 Mittwoch 16:15h - 17:00h Felix Laarmann felix.laarmann@tu-dortmund.de
5 Donnerstag 12:15h - 13:00h Felix Laarmann
6 Donnerstag 16:15h - 17:00h Felix Laarmann

Übungsaufgaben

Die Übungsaufgaben werden wöchentlich über das AsSESS abgegeben.

Anstatt von Übungszetteln im PDF-Format werden wir dieses Jahr Haskell-Programme als "Übungszettel" verwenden. Laden Sie sich hierzu bitte die entsprechende Datei (z.B. uebung0.hs) herunter und editieren Sie diese in einem Texteditor ihrer Wahl gemäß den Aufgabenstellungen in den Kommentaren. Testen Sie ihre Lösungen im interaktiven Modus des Glasgow Haskell Compiler (GHCi).

Sollten Sie eine Aufgabe nicht lösen können, so kommentieren Sie bitte Ihren Lösungsversuch wieder aus. Wir werden uns ihre Lösungen, sowie auskommentierte Teillösungen anschauen.

Eventuelle Freitext-Antworten, die kein Haskell-Code sind, schreiben Sie bitte als Kommentar in die Datei.

Nach der Bearbeitung einzelner Aufgaben, sowie nach der Bearbeitung aller Aufgaben sollten die Übungs-Dateien kompilieren.
Ist dies nicht der Fall, sollten Sie ihre Lösung(en) überdenken.

Bitte achten Sie darauf immer kompilierende Dateien abzugeben!
Geben Sie nur Quellcode und Kommentare als .hs Dateien ab. Abgaben als kompiliertes Programm (.ho, .exe, ...) oder in anderen Formaten (z.B. .doc, .pdf, ...) werden nicht akzeptiert.

Block Ausgabe Abgabefrist Datei
- 09.07.2021 -

    

          

     

2 02.07.2021 08.07.2021, 23:59h uebung12.zip
2 25.06.2021 01.07.2021, 23:59h uebung11.zip
2 18.06.2021 24.06.2021, 23:59h uebung10.zip
2 11.06.2021 17.06.2021, 23:59h uebung9.zip
2 04.06.2021 10.06.2021, 23:59h uebung8.zip
2 28.05.2021 03.06.2021, 23:59h uebung7.zip
2 21.05.2021 27.05.2021, 23:59h uebung6.zip
1 14.05.2021

20.05.2021, 23:59h

(Es sind nun Gruppenabgaben von bis zu 3 Studierenden zugelassen)

uebung5.zip
1 07.05.2021 13.05.2021, 23:59h uebung4.zip
1 30.04.2021 06.05.2021, 23:59h uebung3.zip
1 23.04.2021 29.04.2021, 23:59h uebung2.zip
1 16.04.2021 22.04.2021, 23:59h uebung1.zip
- 16.04.2021 keine Abgabe uebung0.zip

Studienleistung

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

  • Mindestens 50% der erreichbaren Punkte pro Übungsblock.
  • Es wird 2 Übungsblöcke mit wöchentlichen Übungsabgaben geben.

Klausuren

Die Klausurtermine stehen fest:

  • Die erste Klausur wird am Dienstag, den 27.07.2021 von 18:00h-20:15h stattfinden.
    • Die Noten sind im BOSS eingetragen.
  • Die zweite Klausur wird am Dienstag, den 07.09.2021 von 11:30h-13:45h stattfinden.
    • Die Klausureinsicht der zweiten Klausur findet am 17.09.2021 statt. Aufgrund der aktuellen Situation muss die Klausureinsicht online stattfinden. Sie können bis zum 15.09.2021 per Mail an felix.laarmann@tu-dortmund.de einen Termin zur Klausureinsicht vereinbaren.

Die Prüfungen werden Online stattfinden. Das Online-Format der Prüfungen wird in der Vorlesung am 09.07.2021 am Beispiel der Probeklausur erklärt werden.

Ablauf der Online-Prüfung

Am 09.07.2021 wurde am Anfang der Vorlesung der Ablauf der Online-Prüfung erläutert. Die Vorlesungsaufzeichnung finden Sie unter Vorlesungsmaterial.

Nachfolgend wird der Ablauf noch einmal in Sitchpunkt zusammengefasst:

  • Sie benötigen einen Sciebo-Account! Registrieren Sie sich also rechtzeitig, ansonsten ist die Teilnahme an der Online-Prüfung unter Umständen nicht möglich! Eine Anleitung finden Sie im Intranet oder Sie registrieren sich direkt unter hochschulcloud.nrw
  • Der Lösungsbogen wird 24 Stunden vor Klausurbeginn über Sciebo veröffentlich. Den Link finden Sie dann unter Klausuren. Drucken Sie den Lösungsbogen aus, oder bereiten Sie ihn mit Stift und Papier händisch vor. Der Lösungsbogen wird 3 Seiten umfassen.
  • Falls Sie den Lösungsbogen nicht ausdrucken, schreiben Sie bitte die Eidesstattliche Versicherung auf einer extra Seite leserlich ab und unterzeichnen diese. Abgaben ohne Eidesstattliche Versicherung werden nicht angenommen/akzeptiert!
  • Seien Sie rechtzeitig, am besten etwa 15 Minuten vor Klausurbeginn im Zoom-Raum. Die Zugangsdaten werden etwa eine Stunde vor der Klausur unter Klausuren veröffentlicht.
  • Sobald Sie den Zoom-Raum betreten haben, ändern Sie bitte ihren Namen zu ihrer Matrikelnummer.
  • Zu Klausurbeginn schalten Sie bitte alle Ihre Webcam an. Falls Sie keine Webcam haben, können Sie sich über die Fachschaft Informatik eine leihen. Die meistens Smartphones können mittlerweile auch als Webcam dienen.
  • Dann wird die Klausur über Sciebo freigegeben. Sie bekommen 5 Minuten Downloadzeit.
  • Achten Sie darauf, dass ihr Name und ihre Matrikelnummer auf dem Lösungsbogen eingetragen sind und die Eidesstattliche Versicherung unterschrieben ist! Das können Sie bereits vor der Klausur erledigen!
  • Die Bearbeitungszeit der Klausur beträgt 120 Minuten.
  • Es sind keine Hilfsmittel zur Klausur zugelassen.
  • Ihr Mikrofon ist bitte die ganze Zeit stumm geschaltet, um niemanden zu stören.
  • Falls es Fragen geben sollte, wird zu Beginn der Klausur gesagt an wen Sie diese als private Nachricht schicken können. Bitte schreiben Sie keine Nachrichten in den öffentlichen Chat und lassen Sie ihr Mikrofon stummgeschaltet.
  • Falls Sie auf Toilette o.ä. müssen, schreiben Sie bitte eine kurze private Nachricht bevor Sie gehen, damit sich die Aufsicht nicht wundert wenn niemand mehr vor der Webcam sitzt.
  • Am Ende der Bearbeitungszeit gibt es 10 Minuten Fotozeit. Hier fotografieren oder scannen Sie bitte die 3 Seiten Ihre Lösungsbogens und laden diese unter dem dafür vorgesehen Sciebo-Link hoch.
  • Achten Sie darauf, dass ihre Lösungen auf den Fotos/Scans lesbar sind!
  • Das Hochladen ihrer Fotos ist bis 20 Minuten nach Ablauf der Fotozeit möglich. Dann wird der Link gesperrt.
  • Bitte laden Sie ausschließlich PDF-, PNG- oder JPG-Dateien hoch. Andere Formate werden nicht akzeptiert.
  • Es ist Ihnen überlassen, ob Sie eine PDF mit 3 Seiten, oder 3 einzelne Dateien abgeben. Achten Sie nur darauf, dass alle Lösungsseiten abgegeben werden. Was nicht abgegeben wurde, wird als nicht bearbeitet bewertet.
  • Benennen Sie ihre Dateien nach dem folgenden Prinzip: <Matrikelnummer>.pdf für eine Datei, oder <Matrikelnummer>_<Seitenzahl>.<erlaubtes Format> für mehrere Dateien.
  • Verlassen Sie nicht den Zoom-Raum!
  • Wir überprüfen jede Abgabe auf Lesbarkeit. Wenn ihre Abgabe lesbar ist, schreiben wir ihnen eine private Nachricht über Zoom, dass alles ok ist und Sie den Raum verlassen können.
  • Wenn ihre Abgabe nicht lesbar ist, schreiben wir ihnen eine private Nachricht, dass Sie diese bitte noch einmal lesbar fotografieren/einscannen. In der Nachricht wird eine Email-Adresse stehen, an die Sie die neuen Fotos schicken können. Warten Sie dann im Zoom-Raum, bis wir Ihnen eine erneute Rückmeldung geben. Schreiben Sie bitte nur eine Mail und warten dann. Alles andere verzögert den Prozess nur unnötig.
  • Vorzeitige Abgaben sind natürlich möglich. Schreiben der Aufsicht eine Nachricht, dass Sie früher abgeben wollen und dafür bereits mit den Fotos/Scans anfangen und diese Hochladen. Sobald Ihnen die Lesbarkeit der Abgabe bestätigt wurde, dürfen Sie den Zoom-Raum verlassen.


Nebeninhalt

Kontakt

Felix Laarmann, M. Sc.
Tel.: 0231 755-2436
Jan Bessai, Dr.
Tel.: 0231 755-7764