Functional Programming

Modulnummer
CS2333
Modulverantwortliche
Burkhardt Renz
Dozenten
  • Thomas Letschert
  • Burkhardt Renz
  • Norman Ulbrich
  • Kurzbeschreibung
    The course teaches the theoretical background of functional programming. The participants learn to apply the concepts to practical software projects.
    Qualifikations- und Lernziele

    The participants are able to apply the paradigm of functional programming to own software projects. They have a deep insight into the concepts of a functional programming language. The participants are capable of dividing complex problems by expressing and validating them in a functional way. They understood the theoretical background and are able to apply what they have learned to other programming languages

    Lerninhalte
    • Lambda calculus
    • Closures
    • Currying
    • Recursion
    • Higher-order functions
    • Referential transparency
    • Generators/infinite streams
    Moduldauer (Semester)
    1
    Unterrichtssprache
    Deutsch
    Gesamtaufwand
    6 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
    Semesterwochenstunden
    4
    Lernformen

    Lecture 2 SWS, Exercises 2 SWS

    Geprüfte Leistung

    Examination prerequisite: Group project to implement software using functional programming

    Examination: Written or oral exam (The form of the examination will be announced to the students in a timely and appropriate manner)

    Bewertungsstandard
    according to examination regulations (§ 9)
    Häufigkeit des Angebots
    As Needed
    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