Funktionale Programmierung

Kurzname
Funktionale Programmier.
Modulnummer
CS2333
Modulverantwortlicher
  • Prof. Dr. Uwe Meyer
Dozent
  • Prof. Dr. Uwe Meyer
  • Prof. Dr. Burkhardt Renz
  • Norman Ulbrich
Kurzbeschreibung
Das Modul vermittelt die theoretischen Konzepte funktionaler Programmierung. Die Studierenden lernen diese auf praxisnahe Softwareprojekte anzuwenden.
Qualifikations- und Lernziele

Die Studierenden sind in der Lage, das Paradigma der funktionalen Programmierung auf eigene Softwareprojekte anzuwenden. Sie haben weitgehenden Einblick in die Konzepte einer funktionalen Programmiersprache. Die Studierenden sind fähig, komplexe Probleme zu zerlegen, funktional auszudrücken und zu validieren. Sie verstehen den theoretischen Hintergrund und können das Gelernte auf andere Sprachen übertragen.

Lerninhalte
  • Lambda-Kalkül
  • Closures
  • Currying
  • Funktionen höherer Ordnung
  • Referenzielle Transparenz
  • Generatoren/unendliche Streams
  • je nach Dozent werden unterschiedliche funktionale Sprachen eingesetzt, z.B. Scheme, Scala, Clojure etc.
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6.0 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernformen

Vorlesung 2 SWS, Übung 2 SWS

Voraussetzungen für die Vergabe von Creditpoints

Prüfungsvorleistung: Projekt oder Hausübungen (Art und Umfang der Vorleistungen wird den Studierenden zu Beginn der Veranstaltung bekannt gegeben)

Prüfungsleistung: Klausur, mündliche Prüfung oder Projekt (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der allgemeinen Bestimmungen für Bachelorprüfungsordnungen

Bonuspunkte

Bonuspunkte werden gemäß § 9 Abs. 4 der Allgemeinen Bestimmungen für Bachelorprüfungsordnungen vergeben. Die Vergabe von Bonuspunkten ist dozentenabhängig. Einzelheiten zur Vergabe der Bonuspunkte werden den Studierenden semesterweise jeweils zu Veranstaltungsbeginn rechtzeitig und auf geeignete Art und Weise bekannt gegeben.

Häufigkeit des Angebots
Nach Bedarf
Literatur
  • R. Bird, P. Wadler: Einführung in die funktionale Programmierung, Hanser Verlag
  • B. O'Sullivan: Real world Haskell, O'Reilly
  • Piepmeyer, Lothar: Grundkurs funktionale Programmierung mit Scala Hanser
  • Odersky, Martin: Programming in Scala Artima
  • Bird, Scruggs, Mastropieri: Introduction to Functional Programming, Prentice Hall
  • S. Halloway, A. Bedra: Programming Clojure, 2nd Edition, O'Reilly
  • St. Kamphausen, T.O. Kaiser: Clojure, dpunkt.verlag