Funktionale Programmierung
LVA 185.A03, VU 2.0, ECTS 3.0, 2019 W

Funktionale Programmierung

(zweistündige Vorlesung mit Übung; siehe auch TISS/185.A03)

Haben Sie Interesse an einem geförderten Auslandsstudium?

Informationen zu Fördermöglichkeiten finden Sie hier.

Veranstaltungstermine

Vortrag und umgekehrtes Klassenzimmer

Die Lehrveranstaltung beginnt mit Vorbesprechung und erstem Vortrag am Dienstag, den 01.10.2019, 08:15 - 09:45 Uhr, im Informatik-Hörsaal, Treitlstr.

Datum und Zeit Ort Thema Vortrag Thema umgek. Klassenzimmer
Di, 01.10.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil I n.a. / Vorbesprechung
Di, 08.10.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil II Teil I
Mo, 21.10.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil III Teil II
Di, 29.10.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil IV Teil III
Di, 12.11.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil V Teil IV
Di, 26.11.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil VI Teil V
Di, 10.12.2019, 08:15 - 09:45 Uhr Informatik-Hörsaal Teil VII Teil VI

Terminänderungen werden hier bekanntgegeben. Die Angaben Teil I, Teil II, Teil III, etc. beziehen sich auf die entsprechenden Teile der Lehrveranstaltungsunterlagen.

Übungsgruppen und Angaben (Grobplanung)

Angabe Ausgabe Erstabgabe Zweitabgabe (Standardtermin; siehe "Allgemeine Hinweise" für Details) max. Punkte zugeh. ÜG-Termine
1 Montag, 07.10.2019 Montag, 14.10.2019 Montag, 21.10.2019 50 KW 43: 21.-24.10.2019
2 Montag, 14.10.2019 Montag, 21.10.2019 Montag, 28.10.2019 50 KW 44: 28.-31.10.2019
3 Montag, 21.10.2019 Montag, 28.10.2019 Montag, 04.11.2019 50 KW 45: 04.-07.11.2019
4 Montag, 28.10.2019 Montag, 04.11.2019 Montag, 11.11.2019 50 KW 46: 11.-14.11.2019
5 Montag, 11.11.2019 Montag, 18.11.2019 Montag, 25.11.2019 100 KW 48: 25.-28.11.2019
6 Montag, 18.11.2019 Montag, 25.11.2019 Montag, 02.12.2019 100 KW 49: 02.-05.12.2019
7 Montag, 25.11.2019 Montag, 02.12.2019 Montag, 09.12.2019 100 KW 50: 09.-12.12.2019

Laborsprechstunden und -betreuung

Tutoren stehen beginnend mit Freitag, den 11.10.2019, regelmäßig zu folgender Zeit für Fragen und indivuelle Betreuung im complang-Labor zur Verfügung.

Freitag (ab Fr, 11.10.2019) 12:00 Uhr - 13:00 Uhr

Anmeldung

Die Anmeldung zur Lehrveranstaltung erfolgt über TISS/185.A03 und ist bis Fr, 04.10.2019, 12:00 Uhr, möglich. Diese ist maßgeblich für die Teilnahme an der Lehrveranstaltung und unterliegt den in den Studienplänen genannten Voraussetzungen.

Nach Abschluss der Anmeldeperiode wird für die Studierenden mit valider Anmeldung ein persönliches Benutzerkonto auf der Maschine g0.complang.tuwien.ac.at eingerichtet. Benutzerkennung und erstes Zugangswort werden jedem Teilnehmer durch Nachricht an die Standardadresse e-Matr.Nr@student.tuwien.ac.at mitgeteilt. Dieses erste Zugangswort ist im Zuge des ersten Einbuchens auf das Benutzerkonto durch ein selbstgewähltes neues Zugangswort zu ersetzen.

Inhalt und Ziele

Die Vorlesung führt in Theorie und Praxis in die Prinzipien und Konzepte des funktionalen Programmierstils ein und spannt dabei den Bogen von den Grundlagen bis zur Anwendung. In den vorlesungsbegleitenden Übungen wird am Beispiel konkreter Aufgabenstellungen praktisch vorgeführt und diskutiert, wie sich diese zur Lösung einsetzen lassen. Dabei sollen insbesondere auch eigene Lösungsvorschläge vorgestellt und zur Diskussion gestellt werden. Im Übungsteil wird der funktionale Programmierstil anhand von Beispielen eigenständig angewendet und eingeübt und so ein vertieftes theoretisches und praktisches Verständnis für die Konzepte und Prinzipien funktionaler Programmierung erarbeitet und erworben. Als Demonstrations- und Implementierungssprache wird in Vorlesung und Übung die funktionale state-of-the-art Programmiersprache Haskell verwendet.
        Die Studierenden erhalten so ein umfassendes theoretisches und praktisches Verständnis der Grundlagen, Prinzipien und Konzepte der funktionalen Programmierung und lernen, diese auf ihre Eignung zur Lösung programmiertechnischer Aufgaben zu bewerten und zielorientiert und angemessen im funktionalen Programmierstil einzusetzen und anzuwenden.

Lehrveranstaltungs- und Übungsunterlagen

In der Lehrveranstaltung wird die Programmiersprache Haskell zur praktischen Illustration funktionaler Programmierung verwendet; in der Übung wird der für viele Plattformen frei verfügbare Haskell-Interpreter Hugs 98 verwendet.

Für die Übungsaufgaben werden auf dem Aufgabenblatt oder auf der Webseite der Lehrveranstaltung bei Bedarf einige Testfälle angegeben. Diese fallweise angegebenen Testfälle sind nur dazu gedacht, die erwartete Signatur, insbesondere die Reihenfolge von Argumenten, deutlich zu machen. Ein weitergehendes eigenständiges Testen der Programme können die Testfälle nicht ersetzen. Sie sind dazu nicht gedacht und nicht geeignet.

 
Lehrveranstaltung
 
 
Inhalt
 
Folien
 
Hinweise
 
Vorlesung Teil I bis Teil VII, Literaturverzeichnis, Anhänge A-F pdf
 
Stand: 11.12.2019
Vorbesprechung
Motivation,
Organisatorisches
pdf  
Stand: 28.10.2019
 
Termin und Ort
von Vorbesprechung und erster Vorlesung:
Di, 01.10.2019,
08:15 - 09:45 Uhr, Informatik-Hörsaal, Treitlstr.
 
pdf Archiv: Folien der Vorbesprechung vom 01.10.2019 (Stand: 30.09.2019)
Ergänzungen
Leistungsnachweise, Anwesenheitspflicht,
Erwartungen
pdf  
Stand: 28.10.2019
 
Ergänzungen zur Vorbesprechung

 

 
Angabe vom
 
 
Abgabetermin für Erstabgabe
 
 
Angabenblatt
 
 
Hinweise und Bemerkungen
 
Mo, 25.11.2019 Mo, 02.12.2019 (12:00 Uhr) Angabe 7.pdf
Letzte Angabe.
Mo, 18.11.2019 Mo, 25.11.2019 (12:00 Uhr) Angabe 6.pdf
Keine.
Mo, 11.11.2019 Mo, 18.11.2019 (12:00 Uhr) Angabe 5.pdf
Keine.
Mo, 28.10.2019 Mo, 04.11.2019 (12:00 Uhr) Angabe 4.pdf
Achtung: Literates
Haskell-Skript
gefordert!
Mo, 21.10.2019 Mo, 28.10.2019 (12:00 Uhr) Angabe 3.pdf
Achtung: Literates
Haskell-Skript
gefordert!
Mo, 14.10.2019 Mo, 21.10.2019 (12:00 Uhr) Angabe 2.pdf
Keine.
Mo, 07.10.2019 Mo, 14.10.2019 (12:00 Uhr) Angabe 1.pdf
Frist Zweitabgabe: Siehe "Allgemeine Hinweise" zu Organisation und Ablauf der Übung (Abschnitt "Abgabezeitpunkt für Zweitabgaben").
Fr, 05.07.2019 Ohne Abgabe Angabe 0.pdf
Zur Vorbereitung (ohne Abgabe).
Sa, 06.07.2019 Allgemeine Hinweise Allgemeine Hinweise zu Organisation und Ablauf der Übung.

 

Beurteilung, Gesamtnote, Zeugnisausstellung

Übung

Programmiertechnische Aufgaben (beurteilt). Für die Lösung der Programmieraufgaben sind pro Angabe zwischen 0 und 50 (Angaben 1 bis 4) bzw. 100 Punkten (Angaben 5 bis 7) möglich. Für jede Angabe gibt es zwei Abgabetermine. Die für eine Angabe erreichte Punktzahl ist die Hälfte der Punktsumme der beiden Abgaben für diese Angabe. Änderungen an den Programmen der Erstabgabe für die Zweitabgabe können deshalb die insgesamt erreichten Punkte für eine Angabe positiv oder auch negativ beeinflussen.

Für eine positive Beurteilung des Übungsteils sind von den maximal für alle Angaben erreichbaren Punkten mindestens 50% erforderlich, für "befriedigend" mindestens 62.5%, für "gut" mindestens 75% und für "sehr gut" mindestens 87.5%.

Sind zum Beispiel für alle Angaben insgesamt 500 Punkte erreichbar, sind für eine positive Beurteilung des Übungsteils mindestens 250 Punkte (50%) erforderlich, für "befriedigend" mindestens 312.5 (62.5%), für "gut" mindestens 375 (75%) und für "sehr gut" mindestens 437.5 Punkte (87.5%).

Nichtprogrammiertechnische Aufgaben (unbeurteilt). Nichtprogrammiertechnische Aufgaben ergänzen die die programmiertechnischen Aufgaben und erweitern die Übungsmöglichkeiten. Löungsvorschläge für die nichtprogrammiertechnischen Aufgaben werden nicht abgegeben und nicht beurteilt, sondern von den Teilnehmern in den Übungsgruppen präsentiert und besprochen.

Selbsteinschätzungstests (unbeurteilt). Nicht beurteilte 15min. Tests zu Beginn jedes Übungsgruppentreffens unterstützen eine regelmäßige Seibsteinschätzung des bisherigen Lernfortschritts und Lernerfolgs.

Schriftliche Prüfung

Die schriftliche Prüfung (beurteilt) erfolgt über den Vorlesungs- und Übungsstoff und zwei zusammengehörige wissenschaftliche Artikel (siehe auch Unterlagen zur Lehrveranstaltungsvorbesprechung), die Sie sich im Lauf der Lehrveranstaltung selbstständig erschließen: Der Haupttermin für die schriftliche Prüfung ist im Januar 2020 im Anschluss an den Vortrags- und Übungsblock. Nachtragstermine für die schriftliche Prüfung gibt es zu Beginn, in der Mitte und gegen Ende der Vorlesungszeit im Sommersemester 2020. Die genauen Termine sind in TISS bekanntgegeben. Eine Anmeldung zu den schriftlichen Prüfungen ist jeweils erforderlich und erfolgt über TISS.

Nach Ende der Vorlesungszeit im Sommersemester gibt es keine weiteren Nachtragstermine mehr. Bis dahin noch nicht ausgestellte Zeugnisse werden dann ausgestellt.

Gesamtnote

Die Gesamtnote ergibt sich im Verhältnis 1 zu 1 aus den Beurteilungen für den Übungsteil und die schriftliche Prüfung, falls beide Beurteilungen für sich positiv sind, sonst ungenügend.

Zeugnisausstellung

Zeugnisse werden zum frühestmöglichen Zeitpunkt ausgestellt. Das ist nach nicht positivem Abschluss des Übungsteils, nach jedem (positiven oder negativen) Abschluss der schriftlichen Prüfung bzw. nach Verstreichen aller schriftlichen Prüfungstermine.

Änderung des Prüfungsmodus (13.12.2019)

Es gibt folgende Änderung des Prüfungsmodus:
  1. Nach positiver Teilnahme am Übungsteil sind nur mehr zwei Prüfungsantritte möglich. Danach verfällt der positive Übungsteil. Für weitere Antritte muss die Lehrveranstaltung von Anfang nochmals neu besucht werden.
  2. Pro Semester wird höchstens ein Zeugnis ausgestellt.

Vortragender

Jens Knoop.
Complang
Knoop
   Events
   Teaching/Lehre
      ERASMUS/LLP
      LVA-Stammseiten
      Lehre 2022 S
      Lehre 2021 W
      Lehre 2021 S
      Lehre 2020 W
      Lehre 2020 S
      Lehre 2019 W
         Fkt. Prog.
         Opt. Übers.
      Frühere Semester
   Research Interests
   Publications
   Professional Activities
   Memberships
   Selected CFPs
   Useful Links
Sitemap
Sprechstunde
wiederholte LVAs:
Fkt. Programmierung
Opt. Übersetzer
Sonstige
Schnellzugriff
TISS
voriges Semester
voriges Jahr
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2021-08-09 (Knoop)