Back
Semester | spring semester 2022 |
Course frequency | Irregular |
Lecturers |
Marcel Lüthi (marcel.luethi@unibas.ch, Assessor)
Christian Tschudin (christian.tschudin@unibas.ch) |
Content | «Monads are just monoids in the category of endofunctors. What's the problem?» In diesem Seminar untersuchen wir das mathematische Konzept der Monaden aus Sicht der funktionalen Programmierung. Wir diskutieren, wie wir Monaden nutzen können um Zustandsänderungen und Seiteneffekte in Programmen zu kontrollieren, effektive Fehlerbehandlung zu implementieren, oder nebenläufige Systeme zu entwickeln. In Projekten werden die Teilnehmenden weitere Anwendungsfälle von Monaden, von Parsergeneratoren bis hin zu Probabilistischer Programmierung, selber erarbeiten. Monaden haben sich als allgemein anerkanntes Konzept in der Informatik etabliert. Einerseits sind sie ein zentrales Element der funktionalen Programmiersprachen Haskell und Scala, das Konzept findest sich aber auch in populären Programmiersprachen wie C# oder Kotlin. |
Learning objectives | Die Studierenden • erlangen vertieftes Verständnis der Funktionalen Programmierung • erarbeiten die Bedeutung der Monaden als funktionales Design Pattern für ○ Fehlerbehandlung ○ Input/Output ○ Netzwerkprogrammierung ○ Nebenläufigkeit • machen konkrete Programmiererfahrung mit monadischem Programmierstil |
Bibliography | The book of monads: https://leanpub.com/book-of-monads |
Admission requirements | • Erweiterte Grundlagen der Programmierung und/oder Algorithmen und Datenstrukturen • Programmierparadigmen (Annahme: Viele Studierende, Nutzen von Wissen zu funktionaler Programmierung) • Registrierung via Mona: https://services.unibas.ch/unibas/ • Die Anzahl Teilnehmende ist auf 20 limitiert. Bitte schreiben Sie zusätzlich zu Ihrer Anmeldung auf Mona eine E-Mail an marcel.luethi@unibas.ch um sich für einen der Plätze zu registrieren. |
Language of instruction | German |
Use of digital media | No specific media used |
Interval | Weekday | Time | Room |
---|---|---|---|
wöchentlich | Friday | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Date | Time | Room |
---|---|---|
Friday 25.02.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 04.03.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 11.03.2022 | 14.15-16.00 | Fasnachtsferien |
Friday 18.03.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 25.03.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 01.04.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 08.04.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 15.04.2022 | 14.15-16.00 | Ostern |
Friday 22.04.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 29.04.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 06.05.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 13.05.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 20.05.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Friday 27.05.2022 | 14.15-16.00 | Auffahrt |
Friday 03.06.2022 | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Modules |
Modul: Applications and Related Topics (Bachelor's degree subject: Computer Science) Module: Applications and Related Topics (Bachelor's Studies: Computer Science) |
Assessment format | continuous assessment |
Assessment details | Die Schlussnote wird aus der Note einer Präsentation sowie den Noten für die Implementierungsprojekte zusammengesetzt. |
Assessment registration/deregistration | Reg.: course registration, dereg: cancel course registration |
Repeat examination | no repeat examination |
Scale | 1-6 0,5 |
Repeated registration | as often as necessary |
Responsible faculty | Faculty of Science, studiendekanat-philnat@unibas.ch |
Offered by | Fachbereich Informatik |