Softwarekomponenten

Modulnummer
SE5020
Modulverantwortliche
  • Prof. Dr. Thomas Karl Letschert
Lehrende
  • Prof. Dr. Thomas Karl Letschert
Kurzbeschreibung

In diesem Kurs diskutieren wir verschiedene Konzepte, die als wesentlich für eine komponentenorientierte Softwareentwicklung eingeschätzt werden.

Qualifikations- und Lernziele

Die Teilnehmer kennen die verschiedenen Konzepte die mit den Begriffen der Modularisierung und der Entwicklung von Applikationen auf Basis wiederverwendbarer Komponenten verbunden sind. Sie kennen die Kodifizierung aktueller Konzepte der Modularisierung in Bibliotheken und Frameworks. Diese können in angemessener Weise in Teams eingesetzt, weiterentwickelt und argumentativ vertreten werden.

Lerninhalte

In diesem Kurs diskutieren wir verschiedene Konzepte, die als wesentlich für eine komponentenorientierte Softwareentwicklung eingeschätzt werden:

  • Typsysteme und ihre Bedeutung für die Wiederverwendbarkeit von Softwarekomponenten
  • Modularisierung und Dependency Injection
  • Entwurfsmuster und Abstraktionen: Funktoren, Monaden, etc.
  • Komponenten in der reaktiven - und Stromverarbeitung
  • Exemplarische Software-Bibliotheken wie etwa Cats, Monix, Akka-Streams und ihr Einsatz
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6.0 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernform

Seminaristischer Unterricht 4 SWS

Geprüfte Leistung

Prüfungsleistung: Klausur oder mündliche Prüfung (Art des Leistungsnachweises wird den Teilnehmerinnen und Teilnehmern rechtzeitig und in geeigneter Weise bekannt gegeben)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der allgemeinen Bestimmungen für Masterprüfungsordnungen

Bonuspunkte

Keine

Häufigkeit des Angebots
Einmal im Jahr
Literatur
  • V. Riscutia: Programming with Types, Manning
  • D. DeVore, S. Walsh, B. Hanafee: Reactive Application Development, Manning
Voraussetzungen

Empfohlene Voraussetzung: CS2333 Funktionale Programmierung

Rechtliche Hinweise