deutschenglishImpressumSitemap
Universität Konstanz Fachbereich Informatik & Informationswissenschaft
Datenbanken & Informationssysteme Prof. Dr. Marc H. Scholl

Deklarative Programmierung


KursinformationenInfo

Dieser Kurs im LSF! Letztes Update: 30. Apr 2012 -- 15:00

Dozenten

Prof. Dr. Marc H. Scholl
Stefan Klinger

Termine

Übung Mo 14:15 - 15:45 A 704 wöchentlich
Vorlesung Di 10:00 - 12:00 C 252 wöchentlich

Kurstyp

Vorlesung/Übung

Sprache

deutsch

Leistung

SWS: 4
Credits: 6

Prüfung

Anmeldebeginn: 19.10.2009
Anmeldeende: 16.11.2009
Rücktritt bis: 29.01.2010
Prüfer: Prof. Dr. Marc H. Scholl

Teilnehmer

Erwartet: 20
Maximal: 40

Kommentar

Diese Vorlesung führt in eine Welt von Programmiersprachen ein, die sich von der der klassischen imperativen Sprachen (wie etwa Pascal, C, Java) grundlegend unterscheidet: die Welt der funktionalen Programmiersprachen (hier: Haskell). Auf einer einzigen Kernidee — der Anwendung von Funktionen — basierend, kann man einen Programmierstil aufbauen, der oft zu überraschend kurzer und sehr eleganter Formulierung von Algorithmen führt. Funktionale Sprachen besitzen Eigenschaften (referentielle Transparenz), die ihre Programme leicht analysierbar, transformierbar (optimierbar) und kombinierbar machen.

Problemlösung in der funktionalen Welt orientiert sich enger am Problem als an der Maschine. Das macht diese Sprachen zur idealen Spielwiese, auf der auch mit komplizierteren Datenstrukturen und Algorithmen gearbeitet werden kann, ohne sich von vornherein mit den Details der Implementierung befassen zu müssen. Teilweise kann man funktionale Programme aus einem gegebenen Problem automatisch ableiten (Programmsynthese).

Letztlich können auch “imperative Programmmierer” hier eine neue Sicht auf ihre imperativen Programme gewinnen: Kenntnis einer funktionalen Sprache kann zu einem disziplinierten und sauberen imperativen Programmierstil führen.


Material

Link to lecture repository. Slides, assignments, and tutorials.



Herausgeber: Universität Konstanz
Zuletzt geändert am 01.03.2010, 10:25 durch: webmaster

Kontakt zum Webmaster »