- Nummer
- fprog
- Leitung
- -
- 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