Funktionale Programmierung
Fakultät für Informatik und Mathematik ©
Name Funktionale Programmierung
Verantwortlich Prof. Dr. Oliver Braun
SWS 4
ECTS 5
Sprache(n) Deutsch
Englisch
Lehrform SU mit Praktikum
Angebot nach Ankündigung
Aufwand

Präsenzstudium: ca. 60 Std., Eigenstudium: ca. 90 Std.

Voraussetzungen

Softwareentwicklung I, Softwareentwicklung II.

Ziele

LERNZIELE (Welche Kenntnisse vermittelt die Veranstaltung?)

Die Studierenden lernen die Konzepte der funktionalen Programmierung anhand der Programmiersprache Haskell kennen und anwenden, um sie in ihrer späteren beruflichen Tätigkeit in einer funktionalen Sprache oder im Rahmen einer imperativen Sprache mit funktionalen Anteilen sinnvoll anwenden zu können.

FACH- & METHODENKOMPETENZ (Was erlernen die Studierenden, was können sie im Anschluss anwenden, analysieren, evaluieren, kreieren?)

Die Studierenden sind in der Lage,

  • die Konzepte der funktionalen Programmierung zu erläutern,
  • Programme in der rein funktionalen Programmiersprache zu implementieren,
  • funktionaler Konzepte in Mainstream-Programmiersprachen zu erkennen und sinnvoll zu nutzen und
  • funktionaler Konzepte zur parallelen und nebenläufigen Programmierung aufzuzählen.

ÜBERFACHLICHE KOMPETENZ (Was erfahren und erlernen die Studierenden über das Fachliche hinaus?)

Teamarbeit: Die Studierenden entwickeln ein Anwendungsprogramm in Haskell in Kleingruppen.

Inhalt

Die Grundlagen und Konzepte der funktionalen Programmierung werden anhand der rein funktionalen Programmiersprache Haskell eingeführt und erläutert. Behandelte Themen sind dabei mindestens:

  • Lambdas
  • Funktionen höherer Ordnung
  • statische Typisierung
  • Typklassen
  • Funktoren
  • Monaden
  • parallele und nebenläufige Programmierung

In der Veranstaltung werden entsprechende Softwaremodule entwickelt und implementiert.

Medien und Methoden

Tafel, Beamer, Haskell-Plattform auf PC, Livecoding, GitHub Classroom

Literatur
  • Brian O'Sullivan et al., Real World Haskell, O'Reilly, 2008. Online verfügbar unter: http://book.realworldhaskell.org/read/
  • Miran Lipavaca, Learn You a Haskell for Great Good!, No Starch Press, 2011. Online verfügbar unter http://learnyouahaskell.com/chapters
  • Peter Pepper & Petra Hofstedt, Funktionale Programmierung, Springer. 2006.
Zuordnungen Curricula
SPO Fachgruppe Code ab Semester Prüfungsleistungen
IB Version 2010 FWP IF-WI-B-31-34-140 4 benotete schriftliche Prüfung 90 Minuten (60%)
benotete Studienarbeit (40%)
IC Version 2012 WPF Informatik IF-S-B-I40 6 benotete schriftliche Prüfung 90 Minuten (60%)
benotete Studienarbeit (40%)
IC Version 2017 WPF Informatik IF-S-B-I40 6 benotete schriftliche Prüfung 90 Minuten (60%)
benotete Studienarbeit (40%)
IF Version 2012 FWP IF-I-B-F51 4 benotete schriftliche Prüfung 90 Minuten (60%)
benotete Studienarbeit (40%)