Functional Programming

    Nummer
    fprog
    ECTS
    3.0
    Anspruchsniveau
    basic
    Inhaltsübersicht
    Die funktionale Programmierung hat sich als bedeutendes Paradigma neben der objektorientierten Programmierung etabliert. Dieses Modul vermittelt die Grundlagen funktionaler Programmierung. Inhalt
    • Ausdrücke und Funktionen
    • Werte (zur Laufzeit) und Typen (zur Compilationszeit); Typinferenz
    • Tupel und Listen
    • Algebraische Datentypen (Bäume) und Pattern Matching
    • Currying und Lambda-Abstraktionen
    • Funktionen höherer Ordnung
    • Typklassen
    • Input/Output und do-Notation
    • Unterschied zur klassischen imperativen Programmierung (referentielle Transparenz)
    Lernziele
    • Die Studierenden können funktional programmieren.
    • Sie verstehen den Unterschied zwischen imperativer und funktionaler Programmierung.
    • Sie kennen den Wert statischer Analyse durch Typsysteme.
    • Sie können auf ein erweitertes Repertoire an Möglichkeiten zum Programmieren zurückgreifen.
    • Sie sind in der Lage, die funktionalen Features der konventionellen Programmiersprachen wie Java, C++ oder C# zu verstehen.
    Empfohlene Vorkenntnisse
    Einführung in die Programmierung (eipr)
    Leistungsbewertung
    Erfahrungsnote