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

2010W, VL, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VL Vorlesung mit Laborübung

Ziele der Lehrveranstaltung

Die Studierenden erhalten ein umfassendes theoretisches und praktisches Verständnis der Grundlagen und Konzepte der funktionalen Programmierung und lernen, diese auf ihre Eignung zur Lösung programmiertechnischer Aufgaben zu bewerten und angemessen und sinnvoll im funktionalen Programmierstil einzusetzen.

Inhalt der Lehrveranstaltung

Die Vorlesung führt in die Prinzipien und Konzepte der funktionalen Programmierung ein und spannt dabei den Bogen von den Grundlagen bis zur Anwendung. In der vorlesungsbegleitenden Plenumsübung Haskell Live wird am Beispiel konkreter Aufgaben 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 Laborübungsteil wird der funktionale Programmierstil anhand von Beispielen eigenständig angewendet und eingeübt und ein vertieftes auch praktisches Verständnis für die Konzepte und Prinzipien funktionaler Programmierung gewonnen. Als Demonstrations- und Implementierungssprache wird in Vorlesung und Übung die funktionale state-of-the-art Programmiersprache Haskell verwendet.

Die Vorlesung behandelt insbesondere folgende Themen und deren Umsetzung in Haskell:

  • Funktionaler Programmierstil (Programme als Systeme rekursiver Rechenvorschriften)
  • Lambda-Kalkül (Grundlage der semantischen Fundierung funktionaler Programmiersprachen)
  • Auswertungsstrategien für Ausdrücke und Programme (eager evaluation, lazy evaluation)
  • Rekursion und Rekursionstypen
  • Funktionen höherer Ordnung (Programmieren mit Funktionen als Argument und Resultat)
  • Polymorphie (parametrisch, ad-hoc)
  • Typsysteme, Typinferenz (monomorph, polymorph)
  • Ströme und Stromverarbeitung
  • ...

Weitere Informationen

Die Vorbesprechung zur Vorlesung findet am Freitag, den 01.10.2010, von 14:15 bis ca. 15:00 Uhr im Heinz-Parkus-Hörsaal 8 im Haupthaus am Karlsplatz statt! Unmittelbar anschließend findet von 15:00 Uhr bis 16:30 Uhr an gleicher Stelle die erste Vorlesung statt.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Fr.14:00 - 15:0001.10.2010 - 27.01.2011Hörsaal 6 - RPL KNOOP
Fr.14:00 - 15:0001.10.2010HS 8 Heinz Parkus - CEE Vorbesprechung: KNOOP
Fr.15:00 - 16:3001.10.2010HS 8 Heinz Parkus - CEE KNOOP
Do.16:00 - 18:0014.10.2010 - 27.01.2011HS 8 Heinz Parkus - CEE KNOOP
Fr.15:00 - 16:3015.10.2010HS 8 Heinz Parkus - CEE KNOOP
Do.08:00 - 10:0028.10.2010HS 8 Heinz Parkus - CEE KNOOP
Do.08:00 - 10:0002.12.2010HS 8 Heinz Parkus - CEE KNOOP
Do.16:00 - 18:3020.01.2011GM 2 Radinger Hörsaal - TCH Prüfung
Funktionale Programmierung - Einzeltermine
TagDatumZeitOrtBeschreibung
Fr.01.10.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Fr.01.10.201014:00 - 15:00HS 8 Heinz Parkus - CEE Vorbesprechung: KNOOP
Fr.01.10.201015:00 - 16:30HS 8 Heinz Parkus - CEE KNOOP
Fr.08.10.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.14.10.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.15.10.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Fr.15.10.201015:00 - 16:30HS 8 Heinz Parkus - CEE KNOOP
Do.21.10.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.22.10.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.28.10.201008:00 - 10:00HS 8 Heinz Parkus - CEE KNOOP
Do.28.10.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.29.10.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.04.11.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.05.11.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.11.11.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.12.11.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.18.11.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.19.11.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
Do.25.11.201016:00 - 18:00HS 8 Heinz Parkus - CEE KNOOP
Fr.26.11.201014:00 - 15:00Hörsaal 6 - RPL KNOOP
LVA wird geblockt abgehalten

Leistungsnachweis

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

LVA-Anmeldung

Anmeldemodalitäten

Ort: Informationen zur Anmeldung werden in der Vorbesprechung und in Kürze auf der Webseite zur LVA angegeben. Für die Anmeldung wird ein mehrtägiger Zeitraum zur Verfügung stehen.

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
033 533 Medizinische Informatik Keine Angabe
033 534 Software & Information Engineering Pflichtfach5. Semester

Literatur

  • Textbuch zur Vorlesung:
    • Simon Thompson. Haskell: The Craft of Functional Programming. Addison-Wesley (Pearson), 2nd edition, 1999.
  • Haskell 98 Sprachstandard:
    • Simon Peyton Jones (Hrsg.). Haskell 98: Language and Libraries. The Revised Report. Cambridge University Press, 2003.
  • Ausgewählte weitere Lehrbücher:
    • Richard Bird. Introduction to Functional Programming using Haskell. Prentice-Hall, 2nd edition, 1998.
    • Manuel M. T. Chakravarty, Gabriele C. Keller. Einführung in die Programmierung mit Haskell. Pearson Studium, 2004.
    • Antony J.T. Davie. An Introduction to Functional Programming Systems using Haskell. Cambridge University Press, 1992.
    • Kees Doets, Jan van Eijck. The Haskell Road to Logic, Maths and Programming. Texts in Computing Vol. 4, King's College, UK, 2004.
    • Paul Hudak. The Haskell School of Expression: Learning Functional Programming through Multimedia. Cambridge University Press, 2004.
    • Graham Hutton. Programming in Haskell. Cambridge University Press, 2007.
    • Wolfram-Manfred Lippe. Funktionale und Applikative Programmierung. Springer-Verlag, 2009.
    • Peter Pepper. Funktionale Programmierung in OPAL, ML, Haskell und Gofer. Springer-Verlag, 2. Auflage, 2003.
    • Fethi Rabhi, Guy Lapalme. Algorithms: A Functional Programming Approach. Addison-Wesley, 1999.
    • Simon Thompson. Haskell: The Craft of Functional Programming. Addison-Wesley (Pearson), 2nd edition, 1999.
    • ...

Vorkenntnisse

Für die Teilnahme an der Lehrveranstaltung gelten die in Abschnitt 1.6 des am 01.10.2006 in Kraft getretenen Studienplans niedergelegten Voraussetzungen.

Vorausgehende Lehrveranstaltungen

Vertiefende Lehrveranstaltungen

Sprache

Deutsch