Proseminar - Perlen der funktionalen Programmierung
- Proseminare
Veranstalter: | Dr. Andrej Dudenhefner |
---|---|
Typ: | Proseminar |
Modulnummer: | INF-BSc-110 |
Termine: | Online Blockseminar 23.01.2025, 24.01.2025 10-13 Uhr und 14-18 Uhr |
Ausarbeitung: | 5 Seiten als PDF Deutsch oder Englisch EasyChair Format |
Aktuelles
Siehe Moodle Raum.
Beschreibung
In diesem Proseminar wollen wir uns mit "Perlen" der funktionalen Programmierung befassen:
- elegante Algorithmen
- effiziente Datenstrukturen
- Domain-spezifische Programmbibliotheken (z.B. für Parsing)
- Herleitung von (effizienten) Programmen aus korrekten, aber ineffizienten Beschreibungen
Neben den fachlichen Aspekten sollen das Lesen, Zusammenfassen und die Präsentation von Forschungsergebnissen erlernt werden.
Die Vortragsthemen des Proseminars basieren größtenteils auf Forschungsartikeln, die als "Functional Pearls" in der Zeitschrift Journal of Functional Programming oder einer der großen Konferenzen im Bereich Programmiersprachen erschienen sind.
Einige dieser Arbeiten benutzen die Programmiersprache Haskell. Daher werden wir uns in den ersten Treffen etwas näher mit den Besonderheiten von Haskell beschäftigen:
bedarfsgesteuerte Auswertung und "unendliche" Datenstrukturen, Haskell Typsystem, Typklassen und monadische Typen.
Leistung
- Benoteter Vortrag (20 Minuten Vortragszeit + 5 Minuten Rückfragen)
- Schriftliche, benotete Ausarbeitung (5 Seiten)
- Teilnahme an den Vorträgen von anderen Teilnehmenden
Die Abschlussnote bewertet die Qualität der Diskussionsbeiträge, den Vortrag und die Ausarbeitung.
Präsentationstechniken
Das Element Präsentationstechniken (1 CP) des Moduls Proseminar (INF-BSc-110) findet in Präsenz statt und umfasst folgende Termine.
Zeit | Di. 14:15 - 15:45 |
Ort | OH12 R1.054 |
Termine | 15.10., 22.10., 05.11., 12.11. |
Beispiel | Eigenheiten der Kochschen Schneeflocke, LaTeX Quellcode |
Themenliste
- A Play on Regular Expressions
- A Poor Man's Concurrency Monad
- A Pretty But Not Greedy Printer
- A Program to Solve Sudoku
- A Short Cut to Deforestation
- All Sorts of Permutations
- Composing Fractals
- Data Types a la Carte
- Enumerating the Rationals
- Every Bit Counts
- Explaining Binomial Heaps
- Fun with Semirings
- Inverting the Burrows–Wheeler Transform
- Lazy Wheel Sieves and Spirals of Primes
- Monadic Parsing in Haskell
- Parsing Permutation Phrases
- Pickler Combinators
- The Genuine Sieve of Eratosthenes
- Two Can Keep a Secret If One of Them Uses Haskell
- Typed quote_antiquote or Compile-time Parsing
- I am not a Number - I am a Free Variable
- HasChor Functional Choreographic Programming for All
- On Generating Unique Names
- Implicit Configurations - or Type Classes Reflect the Values of Types
- Streams and Unique Fixed Points
Alternativ zu den oben genannten Themen kann (nach Absprache) eine Veröffentlichung der Zeitschrift Journal of Functional Programming im Bereich Functional Pearls behandelt werden.
FAQ
- Muss das gesamte Papier vorgestellt werden?
- Nein. Eine Kompetenz des Proseminars ist die passende Auswahl der relevanten Materie für die gegebene Vortragslänge.
- Muss es einen Eigenanteil geben?
- Ja. Es muss dem Betreuer deutlich werden, dass mit der Materie interagiert wurde.
Am effektivsten sind eigene Beispiele, die nicht im Originalwerk enthalten sind.
- Ja. Es muss dem Betreuer deutlich werden, dass mit der Materie interagiert wurde.
- Müssen noch andere Papiere eingebunden werden?
- Ja. Der vorgestellte Inhalt soll kurz in den wissenschaftlichen Kontext eingeordnet werden.
Oftmals reicht dazu die im Originalwerk referenzierte Literatur.
Bei einer älteren Arbeit wäre eine Literaturrecherche sinnvoll.
- Ja. Der vorgestellte Inhalt soll kurz in den wissenschaftlichen Kontext eingeordnet werden.
- Dürfen nach der Abgabe des Folienentwurfs noch kleine Änderungen gemacht werden?
- Ja. Für die Benotung zählt die Version, die beim Vortrag verwendet wird.
- Muss jedes Codeschnipsel einzeln referenziert werden?
- Nein. Es muss insgesamt deutlich werden, falls fremder Code gezeigt wird.
Wenn viel Code aus dem Originalwerk stammt, dann reicht es aus, am Anfang des Vortrags dies aufzuzeigen.
- Nein. Es muss insgesamt deutlich werden, falls fremder Code gezeigt wird.
- Gilt bei allen Vorträgen Anwesenheitspflicht?
- Ja.