Zum Inhalt
Fakultät für Informatik

Proseminar - Perlen der funktionalen Programmierung

Beginn: Veranstaltungsort: Online
Veran­stal­tungs­art:
  • Proseminare

Proseminar - Perlen der funktionalen Programmierung

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 Votragszeit + 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.
Beipiel Eigenheiten der kochschen Schneeflocke, LaTeX Quellcode

Themenliste

  1. A Play on Regular Expressions
  2. A Poor Man's Concurrency Monad
  3. A Pretty But Not Greedy Printer
  4. A Program to Solve Sudoku
  5. A Short Cut to Deforestation
  6. All Sorts of Permutations
  7. Composing Fractals
  8. Data Types a la Carte
  9. Enumerating the Rationals
  10. Every Bit Counts
  11. Explaining Binomial Heaps
  12. Fun with Semirings
  13. Inverting the Burrows–Wheeler Transform
  14. Lazy Wheel Sieves and Spirals of Primes
  15. Monadic Parsing in Haskell
  16. Parsing Permutation Phrases
  17. Pickler Combinators
  18. The Genuine Sieve of Eratosthenes
  19. Two Can Keep a Secret If One of Them Uses Haskell
  20. Typed quote_antiquote or Compile-time Parsing
  21. I am not a Number - I am a Free Variable
  22. HasChor Functional Choreographic Programming for All
  23. On Generating Unique Names
  24. Implicit Configurations - or Type Classes Reflect the Values of Types
  25. 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.