|  | 
| Modulbezeichnung (engl.): 
Functional Programming | 
|  | 
| Code:  KI571 | 
| 2V+2P (4 Semesterwochenstunden) | 
| 5 | 
| Studiensemester: 6 | 
| Pflichtfach: nein | 
| Arbeitssprache: Deutsch
 | 
| Prüfungsart: 
 
 [noch nicht erfasst]
 
 | 
| KI571 Kommunikationsinformatik, Bachelor, ASPO 01.10.2014
, 6. Semester, Wahlpflichtfach, technisch
 KIB-FPRG Kommunikationsinformatik, Bachelor, ASPO 01.10.2021
, 6. Semester, Wahlpflichtfach, technisch
 KIB-FPRG Kommunikationsinformatik, Bachelor, ASPO 01.10.2022
, 6. Semester, Wahlpflichtfach, technisch
 PIBWI14 (P221-0112) Praktische Informatik, Bachelor, ASPO 01.10.2011
, 6. Semester, Wahlpflichtfach, informatikspezifisch
 PIB-FPRG (P221-0112) Praktische Informatik, Bachelor, ASPO 01.10.2022
, 4. Semester, Wahlpflichtfach, informatikspezifisch
 
 | 
| Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung. | 
| Empfohlene Voraussetzungen (Module): Keine.
 
 | 
| Als Vorkenntnis empfohlen für Module: 
 | 
| Modulverantwortung: Prof. Dr. Thomas Kretschmer
 | 
| Dozent/innen:  Prof. Dr. Thomas Kretschmer 
 [letzte Änderung 31.01.2018]
 
 | 
| Lernziele: Die Studierenden sollen eine alternative, nicht-prozedurale Sicht auf Algorithmen und Datenstrukturen entwickeln. Sie beherrschen den Umgang mit Funktionen und Daten höherer Ordnung und kennen grundlegende und fortgeschrittene funktionale Programmiertechniken. Sie können selbständige mittelgroße funktionale Programme entwickeln.
 
 [letzte Änderung 02.02.2018]
 
 | 
| Inhalt: Eigenschaften funktionaler Programmiersprachen
 Lambda-Kalkül
 Grundlagen von Haskell
 Syntax und Semantik
 Funktionen höherer Ordnung
 Mapping, Filtern, Falten
 Typklassensystem
 Monadisches Programmieren
 
 Anwendungen:
 Suchbäume und andere Graphen
 Syntaxanalyse
 Funktionale Programmierung in ECMAScript
 RxJS: asynchrone Ereignisse als Sammlungen (collections)
 Immutable collections
 State management pattern (-> time travel debugging)
 
 
 [letzte Änderung 02.02.2018]
 
 | 
| Weitere Lehrmethoden und Medien: Vortrag, Bücher, Tutorials
 Einübung anhand praktischer Aufgaben
 
 [letzte Änderung 02.02.2018]
 
 | 
| Literatur: http://learnyouahaskell.com/
 https://github.com/getify/Functional-Light-JS
 
 
 [letzte Änderung 02.02.2018]
 
 | 
| Modul angeboten in Semester: SS 2020, 
SS 2019, 
SS 2018
 |