Funktionale Programmierung ermöglicht schöne, leistungsfähige und sichere Programme. Funktionale Features verbreiten sich auch immer mehr in nicht-rein-funktionalen Programmiersprachen. Auch, wenn man funktionale Programmiersprachen nicht regelmäßig nutzt, lohnt es sich, über den Tellerrand zu schauen und diesen zur imperativen Programmierung gegensätzlichen Ansatz einmal anzuschauen. Außerdem gibt funktionale Programmierung einen greifbaren Ansatz, um viele Konzepte aus theoretischer Informatik und Mathematik besser zu verstehen.

Deswegen veranstalte ich einen Workshop zu Funktionaler Programmierung. Natürlich freiwillig, inoffiziell, unverbindlich und ohne Credit Points.

Kurz zu mir: Ich bin Nicolas Lenz und studiere Informatik im Master. Ich bin und war Tutor in verschiedenen Modulen, zwei Mal auch bei FuPro. Ich programmiere regelmäßig in Haskell und habe z.B. damit für meine Bachelorarbeit einen Compiler implementiert. Vielleicht kennt ihr mich auch als Sprecher des Fachschaftsrats. Außerdem habe ich vor einiger Zeit mit der FOSS-AG schon mal einen FuPro-Workshop organisiert und veranstaltet (an einem Tag drei Stunden). Damals hat mir das viel Spaß gemacht und es gab positives Feedback, weswegen ich so etwas jetzt gerne wieder machen möchte.

Zeit und Ort

Die Termine sind:

  • 15.01.2021 um 14 Uhr c.t.
  • 22.01.2021 um 14 Uhr c.t.
  • 29.01.2021 um 14 Uhr c.t.

»Ort« ist ein Raum auf dem BigBlueButton (eine Online-Konferenzsoftware mit Lehre-Features) der Fachschaft Informatik unter folgendem Link:

https://bbb.fachschaften.org/b/nic-6cd-3g9-4zm

Aufbau und Inhalt

In drei Treffen wird es eine Einführung in die Grundlagen anhand der Programmiersprache Haskell geben.

Geplant ist, Inhalte zu erklären und vorzuführen, und euch dann die Möglichkeit zu geben, das ganze (ggf. in Kleingruppen) in der Praxis selbst auszuprobieren. Natürlich mit der Möglichkeit, Hilfe zu bekommen und Fragen zu stellen. Zwischen Erklärung/Vorführung und Ausprobieren werden wir hin- und herwechseln.

Wir werden in etwa folgende Themen in dieser Reihenfolge behandeln:

  • Haskell (ghc & ghci) bedienen
  • Werte definieren
  • Erste Funktionen
  • Was ist ein Typ?
  • Erste Typen: Zahlen, Listen und Tupel
  • Erste Logik: Pattern Matching
  • Rekursion
  • Einfache Ein- und Ausgabe
  • Higher Order Functions
  • Typklassen
  • Eigene Typen & Typklassen erstellen
  • Funktoren
  • Monaden: IO und andere Seiteneffekte in Haskell
  • Build-Tools, Frameworks & Libraries: "Richtige" Programme in Haskell

Wie weit wir wann kommen, wird sich zeigen, es soll niemand abgehängt werden und gerade online ist es für mich schwierig abzuschätzen, wie lang wir für was brauchen werden. Die Themen und die Reihenfolge sind auch nicht in Stein gemeißelt, je nachdem, was für Fragen gestellt werden und was die gerade Anwesenden interessiert.

Vorbereitung & Material

Mitbringen solltet ihr grundlegende Kenntnisse im Umgang mit dem Computer und einem Texteditor. Sonstige Vorkenntnisse sind nicht erforderlich, können aber auch nicht schaden.

Bitte installiert euch die Haskell Platform und einen zum Programmieren geeigneten Texteditor vor dem Workshop. Wichtig ist vor allem, dass ihr einen GHCI (interaktive Kommandozeile für Haskell) starten könnt.

Die Inhalte bauen auf dem Buch »Learn You a Haskell for Great Good!« auf. Es kann online gratis gelesen werden. Wenn ihr also vor oder während des Workshops Sachen nachschlagen oder angucken wollt, kann ich euch dieses Buch wärmstens empfehlen.

Anmeldung

Wer teilnehmen möchte, meldet sich bitte hier an. Die Anmeldung hilft mir dabei, die Teilnehmendenzahl abzuschätzen. Auch kann ich euch so erreichen, falls es Änderungen oder ähnliches gibt.

(Achtung: Es gab schonmal eine "Anmeldung" vor einiger Zeit, das war aber nur, um rauszufinden, ob überhaupt Interesse besteht. Wenn ihr wirklich teilnehmen wollt, meldet euch hier bitte auch an, wenn ihr euch damals schon eingetragen hattet!)

Kontakt

Für Fragen, Vorschläge, Kommentare oder Anregungen könnt ihr mich auch gerne per Mail (nicolas.lenz@udo.edu), Matrix (https://matrix.to/#/@eisfunke:eisfunke.com) oder per Telegram (@eisfunke) erreichen. (Siehe auch meine persönliche Webseite für weitere Kontaktmöglichkeiten)

Vielen Dank, ich freue mich auf euch!
Nicolas

Der Vorverkaufszeitraum für diese Veranstaltung ist beendet.

Veranstaltungsort: Online unter https://bbb.fachschaften.org/b/nic-6cd-3g9-4zm

Produkte ohne Kategorie

Anmeldung zur Teilnahme am Worshop

GRATIS