Disclaimer
Die hier hinterlegten Angaben dienen rein der Information und besitzen keine Rechtsgültigkeit. Verbindliche Informationen sind ausschließlich im Modulhandbuch veröffentlicht.
Deklarative Programmierung
Die Studierenden lernen die Zusammenhänge zwischen deklarativen und imperativen Programmierparadigmen kennen und sind in der Lage, deren Eigenschaften, Vor- und Nachteile im Hinblick auf Anwendungen in Informatik und Medien zu beurteilen.
Am Beispiel einer logischen und einer funktionalen Sprache (z.B. Prolog und Lisp oder Haskell) erwerben die Studierenden die Fähigkeit, Anwendungen deklarativ und außerhalb des imperativen Programmierparadigmas in Programmierparadigmen wie Java oder C++ zu programmieren.
Die Studierenden beherrschen die grundlegenden Konzepte der logischen und funktionalen Programmierung in den beiden gewählten Sprachen und sind in der Lage, das vorhandene Wissen selbständig weiter zu vertiefen.
- Eigenschaften, Vor- und Nachteile deklarativer gegenüber imperativer Programmierung
- Historische Entwicklung, Generationen von Programmiersprachen
- Einführung in die logische Programmierung am Beispiel von Prolog (z.B. SWI-Prolog) mit praktischen Übungen und Programmieraufgaben
- Theoretische Grundlagen: Prädikatenlogik, Resolution
- Anwendungsfelder und -beispiele
- Einführung in die funktionale Programmierung, z.B. mit Haskell oder einem Lisp-Dialekt mit praktischen Übungen und Programmieraufgaben
- Higher-order Functions MAP, FILTER, REDUCE (FOLD) und Lambda-Ausdrücke
- Anwendungsbeispiele
- Blackburn, Bos, Striegnitz. Learn Prolog Now! (Online-Buch)
- Clocksin, Mellish (2003). Programming in Prolog, Springer-Verlag, 5. Edition
- Miran Lipovača (2011). Learn You a Haskell for Great Good! A Beginner's Guide.
Vorlesung mit gemischten Medien (Beamer und Folien, Whiteboard), Übungen im PC-Hörsaal in kleinen Gruppen
Deutsch
PL
Klausur oder Belegarbeit mit Gespräch
5
4