Zum Inhalt
Fakultät für Informatik

Proseminar - Perlen der funktionalen Programmierung

Beginn: Veranstaltungsort: Online
Veran­stal­tungs­art:
  • Proseminare
Veranstalter: Dr. Andrej Dudenhefner
Typ: Proseminar
Modulnummer: INF-BSc-110
Termine: Online Blockseminar
Do. 11.01.2024 und Fr. 12.01.2024, jeweils 10-12 Uhr und 13-16 Uhr
Ausarbeitung: Bis zum 26.01.2024
5 Seiten als PDF
Easychair Format

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
  • 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 Dienstags, 14:15 - 15:45
Ort Otto-Hahn-Str. 12, Raum 2.063
Termine 10.10.2023, 17.10.2023, 24.10.2023, 31.10.2023
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

Alternativ zu den oben genannten Themen kann (nach Absprache) eine Veröffentlichung der Zeitschrift Journal of Functional Programming im Bereich Functional Pearls behandelt werden.