Zurück zur Auswahl
Semester | Frühjahrsemester 2022 |
Angebotsmuster | unregelmässig |
Dozierende |
Marcel Lüthi (marcel.luethi@unibas.ch, BeurteilerIn)
Christian Tschudin (christian.tschudin@unibas.ch) |
Inhalt | «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. |
Lernziele | 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 |
Literatur | The book of monads: https://leanpub.com/book-of-monads |
Teilnahmevoraussetzungen | • 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. |
Unterrichtssprache | Deutsch |
Einsatz digitaler Medien | kein spezifischer Einsatz |
Intervall | Wochentag | Zeit | Raum |
---|---|---|---|
wöchentlich | Freitag | 14.15-16.00 | Spiegelgasse 1, Seminarraum 00.003 |
Datum | Zeit | Raum |
---|---|---|
Freitag 25.02.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 04.03.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 11.03.2022 | 14.15-16.00 Uhr | Fasnachtsferien |
Freitag 18.03.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 25.03.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 01.04.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 08.04.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 15.04.2022 | 14.15-16.00 Uhr | Ostern |
Freitag 22.04.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 29.04.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 06.05.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 13.05.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 20.05.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Freitag 27.05.2022 | 14.15-16.00 Uhr | Auffahrt |
Freitag 03.06.2022 | 14.15-16.00 Uhr | Spiegelgasse 1, Seminarraum 00.003 |
Module |
Modul: Applications and Related Topics (Bachelorstudium: Computer Science) Modul: Applications and Related Topics (Bachelor Studienfach: Computer Science) |
Prüfung | Lehrveranst.-begleitend |
Hinweise zur Prüfung | Die Schlussnote wird aus der Note einer Präsentation sowie den Noten für die Implementierungsprojekte zusammengesetzt. |
An-/Abmeldung zur Prüfung | Anm.: Belegen Lehrveranstaltung; Abm.: stornieren |
Wiederholungsprüfung | keine Wiederholungsprüfung |
Skala | 1-6 0,5 |
Belegen bei Nichtbestehen | beliebig wiederholbar |
Zuständige Fakultät | Philosophisch-Naturwissenschaftliche Fakultät, studiendekanat-philnat@unibas.ch |
Anbietende Organisationseinheit | Fachbereich Informatik |