I220 – Programmierparadigmen
Programming paradigms
Version: 2
Prof. Dr. rer. nat. Boris Hollas
boris.hollas(at)htw-dresden.de
Prof. Dr. rer. nat. Boris Hollas
boris.hollas(at)htw-dresden.de
2.00 Credits
60 Stunden
2.00 SWS (1.00 SWS Vorlesung | 1.00 SWS Praktikum)
30.00 Stunden
10.00 Stunden (Vorbereitung Lehrveranstaltung)
10.00 Stunden (Selbststudium)
10.00 Stunden (Vorbereitung Prüfung)
Beleg
Schriftliche Prüfungsleistung
Prüfungsdauer: 90 min | Wichtung: 100 %
1/0/1 V/Ü/P
- Funktionen höherer Ordnung, Lamdba-Funktionen, Typ einer Funktion, reine Funktionen, Typinferenz.
- Die Funktionen map, foreach, filter, zip, fold, for-Comprehensions.
- Persistente Datenstrukturen.
- Pattern Matching, algebraische Datentypen, Polymorphie.
- Currying, Closures, strikte und nicht-strikte Auswertung, unendliche Listen.
- Monaden: Option-Monade, Listen-Monade, Monadengesetze.
- Funktoren, Gesetze.
- Monadische Parser.
Einführung in wichtige Paradigmen der Programmierung soweit sie für die praktische und angewandte Informatik von Bedeutung sind. Der Schwerpunkt liegt auf der logischen und der funktionalen Programmierung und deren Einsatz für Aufgaben der Künstlichen Intelligenz. Imperative Programmierung und objektorientierte Programmierung werden - als bekannt vorausgesetzt - mit Paradigmen der deklarativen Programmierung verglichen. Die Studierenden sollen in die Lage versetzt werden, die verschiedenen Paradigmen anwenden zu können und lernen das Zusammenwirken unterschiedlicher formaler Sprachen im Rahmen hybrider Systeme kennen.
Die imperative, objektorientierte und die logische Programmierung werden als bekannt vorausgesetzt, da diese im Bachelor-Studium behandelt werden.
Keine Angabe
- Odersky, Spoon, Venners: Programming in Scala, 3rd Edition, 2016.
- Bjarnason, Chiusano: Functional Programming in Scala, 2014.
Vorlesungsmitschrift