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.

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

Merkmale

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

Ziele der Lehrveranstaltung

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
  • Grundlagen von Haskell
  • Rekursion und Rekursionstypen

Teil II: Applikative Programmierung       

  • Auswertung von Ausdrücken
  • Programmentwicklung und Programmverstehen
  • Datentypdeklarationen

Teil III: Funktionale Programmierung

  • Funktionen höherer Ordnung
  • Parametrische und ad hoc Polymorphie

Teil IV: Fundierung funktionaler Programmierung

  • Auswertungsstrategien
  • Formale Rechenmodelle
  • Lambda-Kalkül

Teil V: Ergänzungen und weiterführende Konzepte

  • Muster
  • Module
  • Ein- und Ausgabe
  • Programmierprinzipien mit Strömen und Funktionalen
  • Monomorphe und polymorphe Typinferenz
  • Fehlerbehandlung

Teil VI: Resümee und Perspektiven

  • Zusammenfassung und Ausblick

 

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 Di, 04.10.2016, 08:15-09:45 Uhr, mit Vorbesprechung und erster Vorlesung.

Vortragende

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Di08:00 - 10:0004.10.2016 - 17.01.2017Informatikhörsaal Vorlesung
Do16:00 - 18:0006.10.2016EI 3 Sahulka HS LVA 185.A03 Funktionale Programmierung
Mi08:00 - 10:0012.10.2016GM 2 Radinger Hörsaal LVA 185.A03 VU Funktionale Programmierung
Do16:00 - 17:3013.10.2016EI 9 Hlawka HS LVA 185.A03 Funktionale Programmierung
Fr14:00 - 15:0014.10.2016 - 13.01.2017Informatikhörsaal Haskell Live
Fr15:00 - 16:0021.10.2016Informatikhörsaal LVA 185.A03 VU Funktionale Programmierung
Do16:00 - 18:0003.11.2016Informatikhörsaal LVA 185.A03 Funktionale Programmierung
Fr08:00 - 10:0025.11.2016EI 10 Fritz Paschke HS LVA 185.A03 VU Funktionale Programmierung
Fr08:00 - 10:0016.12.2016EI 10 Fritz Paschke HS LVA 185.A03 VU Funktionale Programmierung
Funktionale Programmierung - Einzeltermine
TagDatumZeitOrtBeschreibung
Di04.10.201608:00 - 10:00Informatikhörsaal Vorlesung
Do06.10.201616:00 - 18:00EI 3 Sahulka HS LVA 185.A03 Funktionale Programmierung
Di11.10.201608:00 - 10:00Informatikhörsaal Vorlesung
Mi12.10.201608:00 - 10:00GM 2 Radinger Hörsaal LVA 185.A03 VU Funktionale Programmierung
Do13.10.201616:00 - 17:30EI 9 Hlawka HS LVA 185.A03 Funktionale Programmierung
Fr14.10.201614:00 - 15:00Informatikhörsaal Haskell Live
Di18.10.201608:00 - 10:00Informatikhörsaal Vorlesung
Fr21.10.201614:00 - 15:00Informatikhörsaal Haskell Live
Fr21.10.201615:00 - 16:00Informatikhörsaal LVA 185.A03 VU Funktionale Programmierung
Di25.10.201608:00 - 10:00Informatikhörsaal Vorlesung
Fr28.10.201614:00 - 15:00Informatikhörsaal Haskell Live
Do03.11.201616:00 - 18:00Informatikhörsaal LVA 185.A03 Funktionale Programmierung
Fr04.11.201614:00 - 15:00Informatikhörsaal Haskell Live
Di08.11.201608:00 - 10:00Informatikhörsaal Vorlesung
Fr11.11.201614:00 - 15:00Informatikhörsaal Haskell Live
Fr18.11.201614:00 - 15:00Informatikhörsaal Haskell Live
Di22.11.201608:00 - 10:00Informatikhörsaal Vorlesung
Fr25.11.201608:00 - 10:00EI 10 Fritz Paschke HS LVA 185.A03 VU Funktionale Programmierung
Fr25.11.201614:00 - 15:00Informatikhörsaal Haskell Live
Di29.11.201608:00 - 10:00Informatikhörsaal Vorlesung
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
Do16:00 - 18:0016.01.2020EI 7 Hörsaal schriftlich09.12.2019 01:00 - 13.01.2020 12:00in TISSHaupttermin
Do16:00 - 18:0016.01.2020EI 3 Sahulka HS schriftlich09.12.2019 01:00 - 13.01.2020 12:00in TISSHaupttermin
Fr15:00 - 17:0006.03.2020EI 7 Hörsaal schriftlich17.02.2020 12:00 - 03.03.2020 23:59in TISS2. Termin
Fr15:00 - 17:0008.05.2020HS 11 Paul Ludwik schriftlich05.04.2020 12:00 - 28.04.2020 12:00in TISS3. Termin
Fr15:00 - 17:0026.06.2020HS 11 Paul Ludwik schriftlich22.05.2020 12:00 - 24.06.2020 12:00in TISS4. und letzter Termin

LVA-Anmeldung

Von Bis Abmeldung bis
01.10.2016 12:00 14.10.2016 12:00 14.10.2016 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.


Curricula

StudienkennzahlSemesterAnm.Bed.Info
033 534 Software & Information Engineering 3. SemesterSTEOP
Lehrveranstaltung erfordert die Erfüllung der Studieneingangs- und Orientierungsphase STEOP
033 535 Technische Informatik STEOP
Lehrveranstaltung erfordert die Erfüllung der Studieneingangs- und Orientierungsphase STEOP
860 GW Gebundene Wahlfächer - Technische Mathematik STEOP
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