I220 – Programmierparadigmen

Modul
Programmierparadigmen
Programming paradigms
Modulnummer
I220 [I-220]
Version: 2
Fakultät
Informatik/Mathematik
Niveau
Master
Dauer
1 Semester
Turnus
Sommersemester
Modulverantwortliche/-r

Prof. Dr. rer. nat. Boris Hollas
boris.hollas(at)htw-dresden.de

Dozent/-in(nen)

Prof. Dr. rer. nat. Boris Hollas
boris.hollas(at)htw-dresden.de

Lehrsprache(n)
ECTS-Credits

2.00 Credits

Workload

60 Stunden

Lehrveranstaltungen

2.00 SWS (1.00 SWS Vorlesung | 1.00 SWS Praktikum)

Selbststudienzeit

30.00 Stunden
10.00 Stunden Selbststudium - Programmierparadigmen
10.00 Stunden Vorbereitung Lehrveranstaltung - Programmierparadigmen
10.00 Stunden Vorbereitung Prüfung - Programmierparadigmen

Prüfungsvorleistung(en)

Beleg
in "Programmierparadigmen"

Prüfungsleistung(en)

Schriftliche Prüfungsleistung
Prüfungsdauer: 90 min | Wichtung: 100%
in "Programmierparadigmen"

Lehrform

1/0/1  V/Ü/P

Medienform
Keine Angabe
Lehrinhalte/Gliederung
  • 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.
Qualifikationsziele

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.

Sozial- und Selbstkompetenzen
Keine Angabe
Besondere Zulassungsvoraussetzung
Keine Angabe
Empfohlene Voraussetzungen

Die imperative, objektorientierte und die logische Programmierung werden als bekannt vorausgesetzt, da diese im Bachelor-Studium behandelt werden.

Fortsetzungsmöglichkeiten

Keine Angabe

Literatur
  • Odersky, Spoon, Venners: Programming in Scala, 3rd Edition, 2016.
  • Bjarnason, Chiusano: Functional Programming in Scala, 2014.
Aktuelle Lehrressourcen

Vorlesungsmitschrift

Hinweise
Keine Angabe