Funktionale Programmierung

Modulnummer
CS2333
Modulverantwortliche
Burkhardt Renz
Dozenten
  • Thomas Letschert
  • 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,
    Moduldauer (Semester)
    1
    Unterrichtssprache
    Deutsch
    Gesamtaufwand
    6 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
    Semesterwochenstunden
    4
    Lernformen

    Vorlesung 2 SWS, Übung 2 SWS

    Geprüfte Leistung

    Prüfungsvorleistung: Durchführung eines Programmierprojekts mit funktionaler Programmierung in Gruppen

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

    Bewertungsstandard

    Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung (Teil I)

    Häufigkeit des Angebots
    Nach Bedarf
    Literatur
    • 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