Mathematik und Informatik

Vertiefung Software Engineering und Programmiersprachen A (SA, FP)

Modulinformationen

01798: Wegen der stetig zunehmenden Komplexität und Größe von Software treten verstärkt Fragestellungen in den Vordergrund, die sich mit der Strukturierung, der Organisation und dem Aufbau von Softwaresystemen beschäftigen. Von besonderem Interesse sind dabei die Kommunikation zwischen Systemteilen und die Konstruktion von Systemen aus Komponenten.
Die Architektur eines Software-Systems beschreibt die verschiedenen Strukturen des Systems und legt das Zusammenwirken der Systemkomponenten fest. Der Kurs erläutert zunächst allgemein, welche Strukturen in diesem Zusammenhang von Interesse sind und wie sie beschrieben werden können. Insbesondere unterscheidet er zwischen den Strukturen, die dem dynamischen Verhalten von Systemen zugrunde liegen, und den statischen Strukturen der Software des Systems. Er gibt eine Einführung in den Entwurf und die Bewertung von Architekturen und in wichtige Architekturmuster. Zur Vertiefung werden Programmgerüste und Komponentenarchitekturen behandelt. Darüber hinaus geht der Kurs auf relevante informelle und formale Beschreibungstechniken ein.
01852: Der Kurs widmet sich weiterführenden Themen funktionaler Programmierung, die über die grundlegenden Aspekte des Kurses "Logisches und funktionales Programmieren" (01816) hinausgehen, sowie einigen wichtigen theoretischen Grundlagen funktionaler Programmiersprachen. Zu Beginn werden die besonderen Konzepte moderner funktionaler Sprachen wie z.B. strenge Typisierung, parametrischer Polymorphismus, Datentypen und Pattern Matching am Beispiel der Sprache ML vorgestellt. Die mathematische Fundierung funktionaler Sprachen ermöglicht die formale Behandlung von Programmen. Dies wird anhand verschiedener Methoden zum Beweis von Programmeigenschaften oder aber auch zur Programmtransformation demonstriert. Als formale Grundlagen werden der Lambda-Kalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird das Verständnis funktionaler Programmiersprachen durch die Beschreibung verschiedener Implementierungsaspekte vertieft.

ECTS10
Arbeitsaufwand
01798:
Bearbeitung des Kurstextes: 75 Stunden
Bearbeitung der Übungs- und Einsendeaufgaben: 40 Stunden
Nachbearbeitung und Klausur- bzw. Prüfungsvorbereitung: 35 Stunden
01852:
Bearbeiten der Kurseinheiten: 65 - 70 Stunden,
Bearbeiten der Übungsaufgaben: 30 - 40 Stunden,
Prüfungsvorbereitung: 30 - 40 Stunden
Dauer des Modulszwei Semester
Häufigkeit des Modulsin jedem Semester
AnmerkungNicht zusammen mit den Modulen Vertiefung Software Engineering und Programmiersprachen B (WP, FP) oder C (WP, SA) nutzbar
Inhaltliche Voraussetzung
01798: Es werden Programmierkenntnisse vorausgesetzt, möglichst in Java, wie sie z. B. durch den Kurs 01618 "Einführung in die objektorientierte Programmierung" vermittelt werden.


Achtung: Kurstitel ist zwar deutsch, Kurs ist aber in englischer Sprache.


01852: Kenntnisse in funktionaler Programmierung, z.B. aus dem Kurs 01816 Logisches und funktionales Programmieren.

Aktuelles Angebot

Kurs 01798 Software-Architektur [VU]
Kurs 01852 Fortgeschrittene Konzepte funktionaler Programmierung [VU]

Prüfungsinformation

M.Sc. Praktische Informatik
 Art der PrüfungsleistungVoraussetzung
Unbenoteter Leistungsnachweisin jedem Kurs Kursabschlussklausur oder Klausurersatzgespräch bestanden01798: keine, 01852: wird im Kursanschreiben angegeben
Benotete Prüfungbestandene benotete mündliche Modulprüfungkeine
 Stellenwert der Note: 1/6
M.Sc. Informatik
 Art der PrüfungsleistungVoraussetzung
Unbenoteter Leistungsnachweisin jedem Kurs Kursabschlussklausur oder Klausurersatzgespräch bestanden01798: keine, 01852: wird im Kursanschreiben angegeben
Benotete Prüfungbestandene benotete mündliche Modulprüfungkeine
 Stellenwert der Note: 1/9
B.Sc. Informatik
 Art der PrüfungsleistungVoraussetzung
Benotete Prüfungbestandene benotete mündliche ModulprüfungLeistungsnachweis zu einem Modul aus dem Pflichtbereich
 Stellenwert der Note: 1/12

Download

Ansprechpartner

mathinf.webteam | 24.08.2017
FernUni-Logo FernUniversität in Hagen, Fakultät für Mathematik und Informatik
  • Logo FernUni
  • Kontakt
  • VU
  • Moodle
  • Service
  • A-Z
  • Impressum/Datenschutz
  • © FernUniversität in Hagen