Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage (u.a.)
Die Vorlesung führt in Theorie und Praxis in die Prinzipien undKonzepte des funktionalen Programmierstils ein und spannt dabei denBogen von den Grundlagen bis zur Anwendung. In denvorlesungsbegleitenden Übungen wird am Beispielkonkreter Aufgabenstellungen praktisch vorgeführt und diskutiert, wiesich diese zur Lösung einsetzen lassen. Dabei sollen insbesondere aucheigene Lösungsvorschläge vorgestellt und zur Diskussion gestelltwerden. Im Übungsteil wird der funktionale Programmierstil anhand vonBeispielen eigenständig angewendet und eingeübt und so ein vertieftestheoretisches und praktisches Verständnis für die Konzepte undPrinzipien funktionaler Programmierung erarbeitet und erworben. AlsDemonstrations- und Implementierungssprache wird in Vorlesung undÜbung die funktionale state-of-the-art Programmiersprache Haskellverwendet.
Teil I: Einführung
Teil II: Grundlagen
Teil III: Applikative Programmierung
Teil IV: Funktionale Programmierung
Teil V: Fundierung funktionaler Programmierung
Teil VI: Weiterführende Konzepte
Teil VII: Abschluss
Literaturverzeichnis
Anhänge
Ausgewählte Leseempfehlungen
Horsäle, Übungsgruppenräume und Rechnerlabore stehen auch im WS2021/22 aufgrund weiter geltender COVID-19-Beschränkungen nur mitstark eingeschränkter Sitzplatzkapazität und Belegbarkeitshäufigkeitzur Verfügung.Die verbleibenden stark reduzierten Raumressourcen sind vorzugsweiseLehrveranstaltungen des 1. Studienjahrs zur Verfügung gestellt.Die Lehrveranstaltung Funktionale Programmierung wird deshalbvollständig online abgehalten (Vorlesung, umgekehrtes Klassenzimmer,Übung, Vorlesungs- und Labor-Frage&Antwort-Foren); um dabei die Vorteile aus derUnmittelbarkeit von Präsenzveranstaltungen möglichst umfassend zuerhalten in der Form von Echtzeitvideokonferenzen.Ausnahme: Schriftliche Tests (in Hörsaalpräsenz, falls möglich; online sonst!)
Methoden:
Aufteilung der ECTS-Punkte:
Der Lehrveranstaltung sind 3.0 ECTS-Punkte zugeordnet. Dieseentsprechen einem durchschnittlichen Lernaufwand von 75Stunden. Dieser durchschnittliche Lernaufwand verteilt sich infolgender Weise auf die einzelnen Lernaktivitäten der Lehrveranstaltung(die Angaben Teil I bis Teil VII beziehen sich auf die entsprechenden Teileder Lehrveranstaltungsunterlagen):
Die Lehrveranstaltung beginnt mit Vorbesprechung und erstem Vortragsteil (abweichend vom üblichen Dienstagstermin bereits) am Montag, den 04.10.2021, 12:15-13:45 Uhr, ausschließlich online in Form einer Echtzeitvideokonferenz. Die Zugangsinformation für die Videokonferenz ist im TUWEL-Kurs der Lehrveranstaltung angegeben.
Weitere beurteilte Leistungsnachweise gibt es nicht.
Gesamtbeurteilung gewichtet im Verhältnis 1 zu 1 aus Beurteilungen der programmiersprachlichen Aufgabenlösungen und der schriftlichen Tests, falls beide Teilbeurteilungen positiv sind, sonst nicht genügend; bei halben Noten gibt grundsätzlich die Note der schriflichen Tests den Ausschlag.
Erreichte Punkte aus programmiersprachlichen Angaben: Summe der Punkte aus allen 7 Angaben; erreichte Punkte pro Angabe: Hälfte der Punktsumme aus Erst- und Zweitabgabe zu einer Angabe. Erreichte Punkte aus schriflichen Tests: Summe der Punkte aus allen Testteilnahmen geteilt durch die Anzahl an Testteilnahmen.
Beurteilungsschema für programmiersprachliche Aufgabenlösungen, schriftlicheTests und Gesamtbeurteilung: ab 50% genügend, ab 62.5% befriedigend, ab 75% gut, ab 87.5% sehr gut.
Die Anmeldung zur Lehrveranstaltung erfolgt über TISS. Diese istmaßgeblich für die Teilnahme an der Lehrveranstaltung und unterliegtden in den Studienplänen genannten Voraussetzungen.
Nach Abschluss der Anmeldeperiode wird für die Studierenden mitvalider Anmeldung ein persönliches Benutzerkonto auf der Maschineg0.complang.tuwien.ac.at eingerichtet. Benutzerkennung und erstesLosungswort werden jedem Teilnehmer durch Nachricht an dieStandardadresse <e-Matr.Nr>@student.tuwien.ac.at mitgeteilt. Dieseserste Losungswort ist im Zuge des ersten Einbuchens auf dasBenutzerkonto durch ein selbstgewähltes neues Zugangswort zu ersetzen.