|
Algebra des Programmierens (AlgProg)7.5 ECTS (englische Bezeichnung: Algebra of Programming)
(Prüfungsordnungsmodul: Vertiefungsmodul Theoretische Informatik)
Modulverantwortliche/r: Lutz Schröder Lehrende:
Lutz Schröder
Startsemester: |
SS 2017 | Dauer: |
1 Semester | Turnus: |
jährlich (WS) |
Präsenzzeit: |
42 Std. | Eigenstudium: |
183 Std. | Sprache: |
Deutsch und Englisch |
Lehrveranstaltungen:
Inhalt:
Induktive Datentypen wie z.B. Listen, Stacks und Bäume werden abstrakt beschrieben. Strukturelle Induktion und Rekursion für solche Datentypen (z.B. die fold-Operation auf Listen) werden auf Grundlage der Initiale-Algebra-Semantik entwickelt.
Dadurch werden verschiedene effektive Programmiertricks auf eine solide mathematische Grundlage gestellt. Grundlagen und Methoden der Kategorientheorie werden eingeführt und erklärt, insbesondere initiale Algebren und ihre Konstruktion. Evtl. werden Koalgebren behandelt, die es ermöglichen, verschiedene zustandsbasierte Systeme und ihre Semantik in einer einheitlichen Theorie zu studieren.
Lernziele und Kompetenzen:
Die Studierenden erklären induktive Datentypen und die entsprechenden strukturellen Induktionsprinzipien (Defitions- und Beweisprinzip) und wenden diese in Programmierbeispielen an. Sie leiten ferner solche Prinzipien für neue induktive Datentypen her und stellen sie als Spezialfall der Initiale-Algebra-Semantik dar. Die Studierenden erläutern grundlegende Begriffe der Kategorientheorie und wenden die behandelten Begriffe und Methoden auf verschiedene Spezialfälle in der Informatik an (abstrakte Datentypen, zustandsbasierte Systeme). Sie formulieren die Semantik von induktiven Programmen und zustandsbasierten Systemen mit Hilfe von (Ko)Algebren formulieren. Die Studierenden erlangen die Fähigkeit kategorientheoretische Beweise zu führen und die entsprechenden Argumente klar schriftlich niederzulegen.
Literatur:
- R. Bird and O. de Moor: Algebra of Programming, Prentice Hall, 1996.
J. Adamek, H. Herrlich and G.E. Strecker: Abstract and Concrete Categories: The Joy of Cats, 2nd edition, Dover Publishers, 2009.
Weitere Informationen:
www: http://www8.cs.fau.de/course:algprog
Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
- Informatik (Bachelor of Arts (2 Fächer))
(Po-Vers. 2013 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsmodul Theoretische Informatik)
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Science)", "Informatik (Master of Science)", "Mathematik (Bachelor of Science)" verwendbar. Details
Studien-/Prüfungsleistungen:
Algebra des Programmierens (Vorlesung mit Übung) (Prüfungsnummer: 861501)
- Prüfungsleistung, mündliche Prüfung, Dauer (in Minuten): 30, benotet
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
In die Note der mündliche Prüfung gehen auch die Übungsleistungen ein.
- Erstablegung: SS 2017, 1. Wdh.: WS 2017/2018 (nur für Wiederholer)
|
|
|
|
UnivIS ist ein Produkt der Config eG, Buckenhof |
|
|