185.A03 Funktionale Programmierung
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2018W, VU, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung

Ziele der Lehrveranstaltung

Support und Fragen zur LVA: fp2018W@g0.complang.tuwien.ac.at

Die Studierenden erhalten 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.

Inhalt der Lehrveranstaltung

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 der
vorlesungsbegleitenden Plenumsübung Haskell Live wird am Beispiel
konkreter Aufgabenstellungen praktisch vorgeführt und diskutiert, wie
sich diese zur Lösung einsetzen lassen. Dabei können 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.

Teil I: Einführung

  • Motivation

Teil II: Grundlagen

  • Elementare Typen, Tupel, Listen, Zeichenreihen
  • Funktionen
  • Typsynonyme, neue Typen, Typklassen
  • Datentypdeklarationen, algebraische Datentypen
  • Muster und mehr

Teil III: Applikative Programmierung       

  • Rekursion
  • Auswertung von Ausdrücken
  • Programmentwicklung, Programmverstehen

Teil IV: Funktionale Programmierung

  • Funktionen höherer Ordnung
  • Polymorphie

Teil V: Fundierung funktionaler Programmierung

  • Lambda-Kalkül
  • Auswertungsordnungen
  • Typprüfung, Typinferenz

Teil VI: Weiterführende Konzepte

  • Ein- und Ausgabe
  • Fehlerbehandlung
  • Module
  • Programmierprinzipien, Programmieren mit Strömen und Funktionen höherer Ordnung

Teil VII: Abschluss, Ausblick

  • Abschließendes, Rückblick, Ausblick

 Literaturverzeichnis

Anhänge

  • Formale Rechenmodelle
  • Andere funktionale Programmiersprachen
  • Implementierungsaspekte

Weitere Informationen

Aufteilung der ECTS-Punkte:

Der Lehrveranstaltung sind 3.0 ECTS-Punkte zugeordnet. Diese
entsprechen einem durchschnittlichen Lernaufwand von 75
Stunden. Dieser durchschnittliche Lernaufwand verteilt sich in
folgender Weise auf die einzelnen Teile der Lehrveranstaltung:

  • Vorlesungsbesuch und -vor- und -nachbereitung: 30 Std.
  • "Haskell Live"-Plenumsübungsbesuch und "Haskell Private"-Teilnahme, Vor- und -nachbereitung: 10 Std.
  • Übungsaufgaben: 30 Std.
  • Prüfungsvorbereitung und Klausur: 5 Std.

Die Lehrveranstaltung beginnt am Dienstag, den 02.10.2018,
08:15-09:45 Uhr, mit Vorbesprechung und erster Vorlesung.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Di.08:00 - 10:0002.10.2018 - 15.01.2019Informatikhörsaal - ARCH-INF Vorlesung
Fr.10:00 - 12:0005.10.2018EI 3 Sahulka HS - UIW LVA 185.A03 Funktionale Programmierung
Fr.12:00 - 13:0012.10.2018 - 25.01.2019complang-Labor Tutorensprechstunde
Fr.14:00 - 15:0012.10.2018 - 11.01.2019Informatikhörsaal - ARCH-INF Haskell Live
Do.08:00 - 09:0025.10.2018Informatikhörsaal - ARCH-INF LVA 185.A03 Funktionale Programmierung / Haskell Live
Mi.08:00 - 10:0012.12.2018GM 2 Radinger Hörsaal - TCH LVA 185.A03 Funktionale Programmierung
Funktionale Programmierung - Einzeltermine
TagDatumZeitOrtBeschreibung
Di.02.10.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.05.10.201810:00 - 12:00EI 3 Sahulka HS - UIW LVA 185.A03 Funktionale Programmierung
Di.09.10.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.12.10.201812:00 - 13:00complang-Labor Tutorensprechstunde
Fr.12.10.201814:00 - 15:00Informatikhörsaal - ARCH-INF Haskell Live
Di.16.10.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.19.10.201812:00 - 13:00complang-Labor Tutorensprechstunde
Fr.19.10.201814:00 - 15:00Informatikhörsaal - ARCH-INF Haskell Live
Di.23.10.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Do.25.10.201808:00 - 09:00Informatikhörsaal - ARCH-INF LVA 185.A03 Funktionale Programmierung / Haskell Live
Di.30.10.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Di.06.11.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.09.11.201812:00 - 13:00complang-Labor Tutorensprechstunde
Fr.09.11.201814:00 - 15:00Informatikhörsaal - ARCH-INF Haskell Live
Di.13.11.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.16.11.201812:00 - 13:00complang-Labor Tutorensprechstunde
Fr.16.11.201814:00 - 15:00Informatikhörsaal - ARCH-INF Haskell Live
Di.20.11.201808:00 - 10:00Informatikhörsaal - ARCH-INF Vorlesung
Fr.23.11.201812:00 - 13:00complang-Labor Tutorensprechstunde
Fr.23.11.201814:00 - 15:00Informatikhörsaal - ARCH-INF Haskell Live
LVA wird geblockt abgehalten

Leistungsnachweis

Beurteilung der Beispiele aus der Übung und schriftliche Prüfung
über Vorlesungs- und Übungsstoff. Weitere Angaben zum Beurteilungs-
und Prüfungsablauf sind auf der homepage zur Lehrveranstaltung
gegeben.

Prüfungen

TagZeitDatumOrtPrüfungsmodusAnmeldefristAnmeldungPrüfung
Fr.10:00 - 12:0031.05.2024FH Hörsaal 1 - MWB schriftlich29.04.2024 02:00 - 24.05.2024 18:00in TISSSchriftlicher Test 3 auf Papier / Fr, 02.06.2023, 10-12 Uhr
Do.16:00 - 18:0016.01.2025FH Hörsaal 1 - MWB schriftlich28.11.2024 02:00 - 10.01.2025 18:00in TISSSchriftlicher Test 1 auf Papier / Do, 19.01.2023, 16-18 Uhr
Fr.16:00 - 18:0007.03.2025FH Hörsaal 1 - MWB schriftlich04.02.2025 02:00 - 04.03.2025 18:00in TISSSchriftlicher Test 2 auf Papier / Fr, 03.03.2023, 16-18 Uhr
Fr.10:00 - 12:0006.06.2025FH Hörsaal 1 - MWB schriftlich05.05.2025 02:00 - 30.05.2025 18:00in TISSSchriftlicher Test 3 auf Papier / Fr, 02.06.2023, 10-12 Uhr

Gruppentermine

GruppeTagZeitDatumOrtBeschreibung
Keine Gruppe IIDi.15:00 - 16:0030.10.2018complang-Labor -

LVA-Anmeldung

Von Bis Abmeldung bis
01.10.2018 01:00 30.10.2018 14:30 30.10.2018 12:00

Anmeldemodalitäten

Die Anmeldung zur Lehrveranstaltung erfolgt über TISS. 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
Losungswort werden jedem Teilnehmer durch Nachricht an die
Standardadresse e-Matr.Nr@student.tuwien.ac.at mitgeteilt. Dieses
erste Losungswort ist im Zuge des ersten Einbuchens auf das
Benutzerkonto durch ein selbstgewähltes neues Losungswort zu ersetzen.


Gruppen-Anmeldung

GruppeAnmeldung VonBis
Keine Gruppe30.10.2018 15:0030.10.2018 16:00
Keine Gruppe II30.10.2018 14:3330.10.2018 15:00

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
033 534 Software & Information Engineering Pflichtfach3. SemesterSTEOP
Lehrveranstaltung erfordert die Erfüllung der Studieneingangs- und Orientierungsphase STEOP
033 535 Technische Informatik Gebundenes WahlfachSTEOP
Lehrveranstaltung erfordert die Erfüllung der Studieneingangs- und Orientierungsphase STEOP
860 GW Gebundene Wahlfächer - Technische Mathematik Keine AngabeSTEOP
Lehrveranstaltung erfordert die Erfüllung der Studieneingangs- und Orientierungsphase STEOP

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorausgehende Lehrveranstaltungen

Vertiefende Lehrveranstaltungen

Weitere Informationen

Sprache

Deutsch