Modulinformationssystem Informatik

 

Deklarative Programmiersprachen URL PDF XML

Modulcode: Inf-DPS
Englische Bezeichnung: Declarative Programming Languages
Modulverantwortliche(r): Prof. Dr. Michael Hanus
Turnus: unregelmäßig (WS15/16 WS17/18 SS19 WS20/21 WS22/23 SS24)
Präsenzzeiten: 4V 2Ü
ECTS: 8
Workload: 60 Std. Vorlesung, 30 Std. Präsenzübung, 150 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: BSc-Inf-WP (BSc Inf (21)) WI (BSc Inf (15)) MSc-Inf-WP (MSc Inf (21)) 2F-MEd-Inf-WP (MEd-Hdl Inf (21)) 2F-MA-Inf-WP (2F-MA Inf (21)) MSc-WInf-WP-Inf (MSc WInf (21)) PI (MSc Inf (15)) WI (MSc Inf (15)) WI (MSc WInf (15)) WI (MEd Inf) WPI (MEd Inf) IG (MSc Inf) MV (MSc Inf)
Lehrsprache: Deutsch
Voraussetzungen: Info Inf-FortProgP infDP-01a

Kurzfassung:

In dieser Vorlesung werden Konzepte deklarativer Programmiersprachen vorgestellt. Ausgehend von dem aus dem Bachelorstudium bekannten Konzept der funktionalen Programmierung, das kurz wiederholt und eingehender erläutert wird, werden funktionale Sprachen um logische Anteile erweitert, um die Konzepte der funktionalen, logischen und integrierten logisch-funktionalen Sprachen in einem einheitlichen Rahmen darzustellen. Außerdem werden die Grundlagen der funktionalen und logischen Programmierung vorgestellt.

Lernziele:

Nach Abschluss dieses Moduls kennen die Studierenden die Grundlagen und Struktur deklarativer Programmiersprachen. Sie können die Anwendung dieser Sprachen zur Erstellung von Softwaresystemen einschätzen.

Lehrinhalte:

Aufgrund der Komplexität heutiger Software-Systeme ist die Verwendung von Programmiersprachen mit einem hohen Abstraktionsniveau notwendig. Deklarative Sprachen bieten hierzu wichtige Lösungsansätze. Aufgrund ihrer deklarativen Struktur sind die Programme leichter wartbar und verifizierbar (man denke an die immer wichtiger werdenden Sicherheitsaspekte wie z.B. im Internet). In dieser Vorlesung werden Konzepte moderner deklarativer Programmiersprachen vorgestellt. Ausgehend von dem aus dem Bachelorstudium bekannten Konzept der funktionalen Programmierung, das kurz wiederholt und eingehender erläutert wird, werden funktionale Sprachen um logische Anteile erweitert, um die Konzepte der funktionalen, logischen und integrierten logisch-funktionalen Sprachen in einem einheitlichen Rahmen darzustellen. Außerdem werden die Grundlagen der funktionalen und logischen Programmierung vorgestellt.

Weitere Voraussetzungen:

Solide Programmierkenntnisse und Erfahrungen mit fortgeschrittenen Programmierkonzepten, wie sie z.B. im Modul Inf-FortProg (Fortgeschrittene Programmierung) oder im Modul "Deklarative Programmierung" (infDP-01a) vermittelt werden.

Prüfungsleistung:

Mündliche Abschlussprüfung am Ende der Vorlesung

Lehr- und Lernmethoden:

Verwendbarkeit:

Literatur:

  • P. Hudak: The Haskell School of Expression: Learning Functional Programming through Multimedia, Cambridge University Press, 1999
  • S. Thompson: Haskell - The Craft of Functional Programming, Addison-Wesley, 1996
  • L. Sterling, E. Shapiro: The Art of Prolog, 2nd Ed., MIT Press, 1994
  • M. Hanus: The Integration of Functions into Logic Programming: From Theory to Practice, Journal of Logic Programming, Vol. 19,20, pp. 583-628, 1994
  • M. Hanus: Multi-paradigm Declarative Languages, International Conference on Logic Programming (ICLP 2007), Springer LNCS 4670, pp. 45-75, 2007
  • R. Loogen: Integration funktionaler und logischer Programmiersprachen, Oldenbourg 1995
  • H. Boley: A Tight, Practical Integration of Relations and Functions, Springer LNCS 1712, 1999

Verweise:

Kommentar: