Funktionale Programmierung
Lehrende:
David Christopher Mosteller
Kommentare/ Inhalte:
In diesem Praktikum üben Sie den funktionalen Entwurf und die Implementation eines Programms am Beispiel verteilter Spieleentwicklung.
Sie lernen den Umgang mit Programmbibliotheken kennen und üben die funktionale Programmierung mit Racket in Bezug auf verteilte Spiel- bzw. Simulationssysteme. Dabei stehen neben Konzepten der Modellierung und
Verteilung ausgewählte KI-Algorithmen der Spieltheorie im Vordergrund.
Die Kernaufgabe wird es sein, ausgehend von einem gemeinsam definierten Ziel eine interaktive verteilte Anwendung mit graphischer Oberfläche zu entwickeln. Die Projektarbeit erfolgt im Team.
Lernziel:
- Vertiefung der funktionalen Programmierkenntnisse
- Programmierung verteilter (Spiele-) Systeme
- Arbeit mit Versionsverwaltung
- Übung in projektartiger Arbeitsorganisation
Vorgehen:
In den ersten Terminen wird es eine Einführung in die funktionale Programmierung mit der Sprache Racket geben. Anschließend bestimmen die Teilnehmenden je Gruppe ein Spiel, welches sie im Semester implementieren wollen. Gemeinsam werden im Team Ziele und Meilensteine für das Projekt definiert. Die Arbeitsorganisation wird durch das Projektmanagement-Werkzeug Gitlab unterstützt. Der Entwurf der individuellen (Spiele-) Anwendung manifestiert sich in Mockups, Prototypen, Modellen, Spezifikationen. Aufbauend auf dem Entwurf soll eine Implementation des gewählten Spiels erfolgen, sodass selbiges (verteilt) am Rechner gespielt werden kann.
Das Praktikum besteht aus Plenumsdiskussionen sowie Arbeit in Kleingruppen am Rechner.