UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Artificial Intelligence (Master of Science) >>

Algebra des Programmierens (AlgProg)7.5 ECTS
(englische Bezeichnung: Algebra of Programming)
(Prüfungsordnungsmodul: Algebra des Programmierens)

Modulverantwortliche/r: Stefan Milius
Lehrende: Stefan Milius


Startsemester: WS 2021/2022Dauer: 1 SemesterTurnus: 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:


Fachkompetenz
Wissen
Die Studierenden geben elementare Definitionen und Fakten zu induktiven Datentypen, zustandsbasierten Systemen und grundlegenden kategoriellen Begriffen wieder
Verstehen
Die Studierenden
  • erklären grundlegende Begriffe und Konzepte der Kategorientheorie

  • beschreiben Beispiele dieser Begriffe und Konzepte

  • erläutern grundlegende kategorielle Ergebnisse und deren Beweise

Anwenden
Die Studierenden
  • wenden strukturelle Induktionsprinzipien (Definitions- und Beweisprinzip) auf Programmierbeispiele an

  • wenden strukturelle Koinduktionsprinzipien (Definitions- und Beweisprinzip) auf festgelegte Typen von zustandbasierten Systemen (Koalgebren) an

  • übertragen kategorielle Begriffe auf verschiedene Spezialfälle der Informatik (abstrakte Datentypen und verschiedene Arten von Automaten)

Analysieren
Die Studierenden analysieren kategorielle Beweise, diskutieren die entsprechenden Argumentationen und legen diese schriftlich klar nieder.
Erschaffen
Die Studierenden
  • arbeiten strukturelle Induktions- und Koinduktionsprinzipien für neue Datentypen und zustandsbasierte Systeme als Spezialfall der Initiale-Algebra-Semantik und Terminale-Koalgebra-Semantik aus

  • kreieren kategorielle Begriffe, die Konzepte von konkreten Datentypen und Systemen abstrahieren

Lern- bzw. Methodenkompetenz
Die Studierenden
  • beherrschen das grundsätzliche Konzept des Beweises als hauptsächliche Methode des Erkenntnisgewinns in der theoretischen Informatik. Sie überblicken abstrakte Begriffsarchitekturen.

  • vollziehen mathematische Argumentationen nach, erklären diese, führen diese selbst und legen sie schriftlich nieder

Sozialkompetenz
Die Studierenden lösen Probleme in kollaborativer Gruppenarbeit und präsentieren erarbeitete Lösungen.

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: https://www8.cs.fau.de/teaching/algprog/

Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:

  1. Artificial Intelligence (Master of Science)
    (Po-Vers. 2021s | TechFak | Artificial Intelligence (Master of Science) | Gesamtkonto | Wahlpflichtmodulbereich | Symbolic Artificial Intelligence | Algebra des Programmierens)
Dieses Modul ist daneben auch in den Studienfächern "Informatik (Bachelor of Arts (2 Fächer))", "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:
Gemäß Corona-Satzung wird als alternative Prüfungsform zur mündlichen Prüfung festgelegt: mündliche elektronische/digitale Distanzprüfung mit 30 Minuten Dauer.
Prüfungssprache: Deutsch und Englisch

Erstablegung: WS 2021/2022, 1. Wdh.: SS 2022 (nur für Wiederholer)
1. Prüfer: Stefan Milius
Ort: Martenstr. 3, Seminarraum 11.150

UnivIS ist ein Produkt der Config eG, Buckenhof