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
Aufgrund geltender COVID-19-Beschränkungen stehen Horsäle, Übungsgruppenräume und Rechnerlabore im WS 2020/21 nur mit stark eingeschränkter Sitzplatzkapazität und Belegbarkeitshäufigkeit zur Verfügung.Die verbleibenden Raumressourcen sind vorzugsweise Lehrveranstaltungen des 1. Studienjahrs zur Verfügung gestellt. Für die Lehrveranstaltung Funktionale Programmierung ist deshalb ein hybrider Abhaltemodus nötig!Ziel: Die aus der Unmittelbarkeit von Präsenzveranstaltungen resultierenden Vorteile möglichst umfassend zu erhalten, in Online-Veranstaltungen durch einEchtzeitvideokonferenzformat. Deshalb:
Auszug aus einer Information von VR Matyas vom 31.07.2020:
Änderungen im Lehrveranstaltungsablaufs- und -abhaltungsplan (auch erheblicher Natur) sind daher jederzeit und auch kurzfristig möglich!
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 am Dienstag, den 06.10.2020, 08:15-09:45 Uhr, ausschließlich online in Form einer Echtzeitvideokonferenz. Die Zugangsinformation für die Videokonferenz wird rechtzeitig via TISS-Nachricht bekannt gegeben.
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 und schriftlicheTests: 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.