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.
Eine Anmeldung zum Kurs kann nur über Onlineanmeldung erfolgen!
Course No | Course Type | Hours |
---|---|---|
19307601 | Vorlesung | 4 |
19307602 | Übung | 2 |
Time Span | 15.07.2019 - 16.08.2019 |
---|---|
Instructors |
Alexander Baumann
Jonas Cleve
|
Day | Time | Location | Details |
---|---|---|---|
Daily | 8-12 | T9/046 Seminarraum | 2019-07-15 - 2019-08-16 |
Day | Time | Location | Details |
---|---|---|---|
Sunday | ? - ? | Pseudotutorium zur Kapazitätsplanung - potentielle Übungsteilnehmer melden sich bitte hier an! | |
Daily | 13-16 | A3/019 Seminarraum | Übung 01 |
Daily | 13-16 | T9/053 Seminarraum | Übung 04 |
Daily | 13-16 | T9/051 Seminarraum | Maximilian Glinka |
Daily | 13-16 | T9/046 Seminarraum | Maximilian Glinka, Mark Justin Backhaus |