Text in english

Fortgeschrittene Konzepte der Funktionalen Programmierung

Kurs nur in Deutsch

Semesterwochenstunden:

4

Leistungspunkte:

5

Vorkenntnisse:

Programmieren, Programmiersprachen, Mathematik I (Algebra), Algorithmen und Datenstrukturen

Veranstaltungstyp:

Vorlesung mit Übungen im Labor

Semesterturnus:

Sommersemester

Arbeitsaufwand:

150 Stunden
davon 30 Stunden Vorlesung, 30 Stunden Labor
90 Stunden Vor-, Nach- und Prüfungsvorbereitung

Beitrag zu den Zielen des Studiengangs:

Verbesserung der Programmierkompetenz auch in objektorientierten Sprachen, Fähigkeit zum Lesen wissenschaftlicher Artikel im Bereich Funktionale Programmierung

Lernziel:

Bei Abschluss des Lernprozesses wird der erfolgreiche Studierende in der Lage sein, mit fortgeschrittenen Konzepten in Funktionalen Programmiersprachen, insbesondere der Typtheorie, hochqualitative bis zu Null-Fehler (zero fault) Software zu entwickeln.

Schlüsselqualifikationen:

Abstraktionsvermögen, Durchhaltevermögen, logisches Schließen und komplexes Denken

Lehrinhalte:

Am Beispiel der Programmiersprache Haskell werden forgeschrittene Konzepte des Funktionalen Programmierens betrachtet und in praktischen Übungen im Labor eingeübt.

Folgende Themenbereiche werden behandelt:

  • Einführung in Haskell
  • Monaden und Monadentransformer, Funktoren und Applikative Funktoren
  • Generalized Algebraic Data Types (GADTs), Higher-order Polymorphism
  • Programmieren auf dem Typlevel
  • Dependent Types (Agda, Idris), Bezug zu GHC Haskell Spracherweiterungen
  • Refinement Types (Liquid Haskell)
  • Implementierungsaspekte

Literatur:

  • Originalartikel aus: Journal of Functional Programming, Konferenzbände zu International Conference on Functional Programming, Programming Language Design and Implementation
  • Brian O’Sullivan, John Goerzen, and Don Stewart, Real World Haskell, O’Reilly, Sebastopol, California, U.S.A., 2008.
  • Richard Bird, Pearls of Functional Algorithm Design, Cambridge University Press, Cambridge, England, 2010.
  • Benjamin Pierce, Types and Programming Languages, MIT-Press, Cambridge MA, U.S.A., 2002
  • Richard Bird, Introduction to Functional Programming using Haskell, Prentice Hall Europe, Harlow, Essex, England, 2. Auflage, 1998.
  • Graham Hutton, Programming in Haskell, Cambridge University Press, Cambridge, England, 2. Auflage, 2016.
  • Miran Lipovaca, Learn You a Haskell for Great Good, no starch press, San Francisco, California, U.S.A., 2011.

Bemerkungen:

 

Leistungsnachweis:

Mündliche Befragung 20 min

Zulassungsvoraussetzungen:

 

Hilfsmittel:

 

Modulverantwortliche/r:

Prof. Dr. Trommler





TH Nürnberg
Fakultät Informatik
Webmaster-IN



Root- Zertifikat

© 2019 Fakultät Informatik