19307601 Vorlesung

SoSe 20: ProInformatik II: Funktionale Programmierung

Alexander Kauer, Johannes Sebastian Obenaus

Zusätzl. Angaben / Voraussetzungen

Eine Anmeldung zum Kurs kann nur über Onlineanmeldung erfolgen!

Kommentar

Inhalte

Studentinnen und Studenten erlernen die Grundlagen des Programmierens im Kleinen.

Es werden die Grundlagen der Berechenbarkeit (Lambda-Kalkül, primitive Rekursion, Fixpunkte), eine Einführung in die Theorie der Programmiersprachen (Syntax (Backus-Naur-Form), operationale Semantik, Daten und Programm) gegeben.

Es werden Konzepte funktionaler Programmierung (z. B. elementare Datentypen, Ausdrücke, Funktionsdefinition, Rekursion, Funktionsabstraktion, Closure, Funktionen höherer Ordnung, universelle Polymorphie) und deren Ausführung (Auswertungsstrategien) eingeführt. Es werden Techniken zum Beweisen von Programmeigenschaften (Termersetzung, strukturelle Induktion, Terminierung, Church-Rosser-Theorem) und deren Anwendungen (Typsysteme, Typherleitung und Typüberprüfung) eingeführt.

Grundlegende Abstraktionen wie algebraische und abstrakte Datentypen und modularer Programmentwurf, sowie Nebenwirkungen (z. B. durch Monaden) anhand von Ein- und Ausgabe werden behandelt.

Schließen

Literaturhinweise

  • Simon Thompson: Haskell: The Craft of Functional Programming, Third Edition, Addison-Wesley, 2011.
  • Graham Hutton: Programming in Haskell, Cambridge University Press, 2007
  • Bird, R./Wadler, Ph.: Einführung in Funktionale Programmierung, Hanser Verlag, 1982.
  • Hans Hermes: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag, 1978.
Schließen

25 Termine

Regelmäßige Termine der Lehrveranstaltung

Mo, 03.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Di, 04.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mi, 05.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Do, 06.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Fr, 07.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mo, 10.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Di, 11.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mi, 12.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Do, 13.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Fr, 14.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mo, 17.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Di, 18.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mi, 19.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Do, 20.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Fr, 21.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mo, 24.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Di, 25.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mi, 26.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Do, 27.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Fr, 28.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mo, 31.08.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Di, 01.09.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Mi, 02.09.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Do, 03.09.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Fr, 04.09.2020 09:00 - 12:00

Dozenten:
Johannes Sebastian Obenaus
Alexander Kauer

Studienfächer A-Z