I220 – Programming paradigms

Module
Programming paradigms
Programmierparadigmen
Module number
I220 [I-220]
Version: 2
Faculty
Informatics/Mathematics
Level
Master
Duration
1 Semester
Semester
Summer semester
Module supervisor

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

Lecturer(s)

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

Course language(s)
ECTS credits

2.00 credits

Workload

60 hours

Courses

2.00 SCH (1.00 SCH Lecture | 1.00 SCH Internship)

Self-study time

30.00 hours
10.00 hours Self-study - Programmierparadigmen
10.00 hours Examination preparation - Programmierparadigmen
10.00 hours Course preparation - Programmierparadigmen

Pre-examination(s)

Paper
in "Programmierparadigmen"

Examination(s)

Written examination
Examination time: 90 min | Weighting: 100%
in "Programmierparadigmen"

Form of teaching

1/0/1  V/Ü/P

Media type
No information
Instruction content/structure
  • 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.
Qualification objectives

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.

Social and personal skills
No information
Special admission requirements
No information
Recommended prerequisites

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

Continuation options

Keine Angabe

Literature
  • Odersky, Spoon, Venners: Programming in Scala, 3rd Edition, 2016.
  • Bjarnason, Chiusano: Functional Programming in Scala, 2014.
Current teaching resources

Vorlesungsmitschrift

Notes
No information