Kategorientheorie für Programmierer
Objektorientierte Programmierung nutzt Design-Patterns für die Konzeption von Programmen. Funktionale Programmierer können stattdessen auf die Begriffswelt der Kategorientheorie, einer mathematischen Disziplin, zurückgreifen um ihre Programme auf abstrakter Ebene zu entwerfen. In diesem Seminar sollen grundlegende Konzepte der Kategorientheorie anhand von Beispielen in Haskell erarbeitet werden.
Dozenten
David Binder
ResearcherDavid Binder (Office: Room B211)
Ingo Skupin
AlumniIngo Skupin (Office: Room B211)
Prof. Klaus Ostermann
HeadKlaus Ostermann
Struktur der Veranstaltung
Wir werden gemeinsam das Buch von Bartosz Milewski “Category Theory for Programmers” lesen, welches hier kostenlos in pdf-Form verfügbar ist. Eine gedruckte Ausgabe des Buches kann man von dem Print-On-Demand Dienstleister blurb.com beziehen. Zusätzlich werden wir evtl. noch weitere wissenschaftliche Artikel zum Thema lesen.
Die Teilnehmer lesen jede Woche das Kapitel des Buches das beim kommenden Treffen besprochen wird (jeweils von der Länge eines längeren Blogposts). Die Rolle des Diskussionsleiters rotiert wöchentlich unter den Teilnehmern. Die Aufgabe des Diskussionsleiters ist es sich intensiver auf das Thema vorzubereiten um die Diskussion zu moderieren. Ausserdem gibt es wöchentliche Übungsblätter von geringem Umfang, deren Bearbeitung notwendig ist, um die besprochenene Konzepte zu verinnerlichen.
Weitere Informationen
- Veranstaltung im Campus System
Vorbesprechung und Terminfestlegung
Die Vorbesprechung findet am 14. Oktober um 18 Uhr im Raum A104 statt. Der endgültige Termin wird dann über eine Doodle Umfrage festgelegt.
Der Termin für das wöchentliche Treffen ist:
- Mittwochs, 18 c.t. Uhr
- Im Raum A302
Termine
Das Seminar findet immer mittwochs, um 18:15 im Raum A302 auf dem Sand statt.
Mittwoch, 30. Oktober 6. November
Wir werden Kapitel 3 + 5 aus dem Buch besprechen. Diskussionsleiter ist Lucca.
Mittwoch, 13. November
Wir werden Kapitel 6 + 7 aus dem Buch besprechen. Diskussionsleiter ist Lukas.
Mittwoch, 20. November
Wir werden Kapitel 8 + 9 aus dem Buch besprechen. Diskussionsleiter ist Pavel.
Mittwoch, 27. November
Wir werden Kapitel 9 und 10 aus dem Buch besprechen. Diskussionsleiter ist Andreas.
Mittwoch, 4. Dezember
Wir werden Kapitel 10 aus dem Buch besprechen. Diskussionsleiter ist Marcus.
Mittwoch, 11. Dezember
Wir werden die ersten vier Abschnitte aus Hinze und James’ Reason Isomorphically lesen. Besonders wichtig sind dabei die Abschnitte 3 und 4.
Mittwoch, 18. Dezember
Wir werden die ersten Abschnitt 5 aus Hinze und James’ Reason Isomorphically lesen.
Mittwoch, 8. Januar
Wir werden Kapitel 20 und 21 aus dem Buch besprechen. Diskussionsleiter ist Michael.
Mittwoch, 15. Januar
Wir werden Kapitel 22 aus dem Buch besprechen. Diskussionsleiter ist Martin.
Mittwoch, 29. Januar
Wir werden Kapitel 24 (ohne Unterkapitel 24.6) aus dem Buch besprechen. Diskussionsleiter ist Alex.