Text in english

Einführung in die Funktionale Programmierung

Kurs nur in Deutsch

Semesterwochenstunden:

4

Leistungspunkte:

5

Vorkenntnisse:

Programmieren I und II, Mathematik I, Algorithmen und Datenstrukturen

Veranstaltungstyp:

Vorlesung mit Praktikum

Semesterturnus:

Wintersemester

Arbeitsaufwand:

150 Stunden, davon: 65 Stunden Präsenz, 45 Stunden selbständige Übungen am Rechner, 40 Stunden zur Nachbereitung und Prüfungsvorbereitung.

Beitrag zu den Zielen des Studiengangs:

Spezifikation komplexer Systeme und deren Implementierung mit funktionalen Programmen

Lernziel:

Programmieren im funktionalen Programmierparadigma, Verbesserung der Analysefähigkeit und Programmierkompetenz auch in objektorientierten Sprachen

Schlüsselqualifikationen:

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

Lehrinhalte:

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

Folgende Themenbereiche werden behandelt:

  • Typen, Klassen, Parametrische Polymorphie
  • Funktionen, Definition, Komposition
  • Rekursion, Funktionen höherer Ordnung, Kombinatoren
  • Reine Funktionen und Nebeneffekte, Monaden
  • Auswertungsstrategien: strikte und faule Auswertung, unendliche Listen

Literatur:

  • Graham Hutton, Programming in Haskell, Cambridge University Press, Cambridge, England, 2. Auflage, 2016.
  • 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.
  • Richard Bird, Introduction to Functional Programming using Haskell, Prentice Hall Europe, Harlow, Essex, England, 2. Auflage, 1998.
  • Miran Lipovaca, Learn You a Haskell for Great Good, no starch press, San Francisco, California, U.S.A., 2011.

Bemerkungen:

 

Leistungsnachweis:

Mündliche Prüfung (Dauer: 20 Minuten)

Zulassungsvoraussetzungen:

 

Hilfsmittel:

 

Modulverantwortliche/r:

Prof. Dr. Trommler





TH Nürnberg
Fakultät Informatik
Webmaster-IN



Root- Zertifikat

© 2019 Fakultät Informatik