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 |