Seminar: Category Theory for Programmers
Responsible: | Prof. Dr. Peter Thiemann | |
Assistance: | Hannes Saffrich | |
Time and Place: | Di 16-18 in Geb. 051, SR 00-031 |
Schedule
Date | Time | Location | Subject |
---|---|---|---|
2023-10-17 Tu | 16:00 | Zoom | First meeting |
2023-11-07 Tu | 16:00 | Geb. 051, SR 00-031 | Barr & Wells, Chapter 1 and 2 |
2023-11-14 Tu | 16:00 | Geb. 051, SR 00-031 | Barr & Wells, Chapter 3.1, 3.2, 3.3 |
2024-02-15 Th | 10:00 | Geb. 051, SR 00-031 | Presentations Part 1 |
2024-02-16 Fr | 10:00 | Geb. 051, SR 00-031 | Presentations Part 2 |
2024-02-17 Sa | 23:55 | Ilias | Submission deadline for slides |
2024-03-01 Fr | 23:55 | Ilias | Submission deadline for draft reports |
2024-03-08 Fr | 23:55 | Ilias | Submission deadline for reviews |
2024-03-15 Fr | 23:55 | Ilias | Submission deadline for report |
Presentations
Date | Slot | Topic |
---|---|---|
2024-02-15 Th | 1 | Monads for functional programming |
2024-02-15 Th | 2 | Free applicative functors |
2024-02-15 Th | 3 | Asymptotic Improvements of Computations over Free Monads |
2024-02-15 Th | 4 | Functional programming with bananas, lenses, envelopes and barbed wire |
2024-02-16 Fr | 1 | Compiling to categories |
2024-02-16 Fr | 2 | Everybody's got to be somewhere |
2024-02-16 Fr | 3 | Sorting with bialgebras and distributive laws |
2024-02-16 Fr | 4 | Realization is Universal |
Prüfungsleistung
- Attendance and active participation in the regular meetings and presentations of all participants
- Preparation and presentation of a 30-minute talk about the topic of the assigned paper
- Preparation of a written report of the topic of the assigned paper as described in the Procedure section
- Submission of the report and presentation slides before the respective deadlines
Procedure
A seminar concentrates on scientific results, but it also teaches competences required for scientific work. In particular
- literature research
- reading and understanding of scientific texts
- presentation skills
- creating a written report
This seminar will proceed as follows:
-
Topic Selection and First Meeting. In this seminar we study the book Category Theory for Programmers by Bartosz Milewski. The first meeting is dedicated to discuss administrative matters. It will also be possible to ask questions about the topic.
-
Regular Meetings. The first couple of regular meetings take the form of a reading seminar. Together, we will read and discuss the book chapters that cover introductory topics. Participants are expected to read the respective chapters before the meeting. The reading assignments can be found in the Schedule.
- Presentation. Presentations will take place at the end of the semester as a block seminar. A tutorial video about scientific presentations can be found in the Links section.
- Report.
A written report needs to be submitted at the end of the semester, which satisfies the following criteria:
- It must be at most 10 pages long.
- It must be prepared with LaTeX. A good introduction to LaTeX may be found in the documentation of Overleaf.
-
It must use the LaTeX document class
llncs.cls
according to the template document which is available on the Springer web site under Information for Authors. The above website contains a useful rubric "Author Guidelines" with further information. Do not change the formatting parameters of llncs.cls in any way. -
It must use
bibtex
for references. Many bibtex references can be obtained from the DBLP computer science bibliography. - It should adhere to our style guide.
-
Reviews. Just like in a real paper submission, the reports are subject to peer review.
For this purpose, you have to submit a draft of your report two weeks before the final report submission deadline. You will then receive two drafts of other participants and have one week to submit reviews about them. You will then receive two reviews of your own draft report and have one week to improve your report and submit a final version.
Links
- Tutorial: How to give talks that people can follow (Derek Dreyer, PLMW @ ICFP'19)
- Tutorial: How to write papers so people can read them (Derek Dreyer, PLMW @ ICFP'21)
- Book: Category Theory for Programmers by Bartosz Milewski
- Book: The Dao of Functional Programming by Bartosz Milewski
- Book: Category Theory for Computing Science by Barr & Wells