64-145 Praktikum Funktionale Programmierung

Veranstaltungsdetails

Lehrende: David Christopher Mosteller
Veranstaltungsart:
Praktikum
Anzeige im Stundenplan:
Prak Funkt. Prog.
Semesterwochenstunden:
4
Credits:
6,0
Unterrichtssprache:
Deutsch
Min. | Max. Teilnehmerzahl:
- | 20
Anmeldegruppe: Anmeldegruppe Praktika
Weitere Informationen: Blockveranstaltung
Kommentare/ Inhalte: In diesem Praktikum üben Sie den funktionalen Entwurf und die Implementierung eines Programms anhand von Beispielen aus der Entwicklung von verteilten Spielen. Sie lernen den Umgang mit Programmbibliotheken und üben die funktionale Programmierung mit Racket. Der Schwerpunkt liegt dabei auf Konzepten der Modellierung und Verteilung unter Verwendung des funktionalen Programmierparadigmas. Zusätzlich können ausgewählte KI-Algorithmen der Spieltheorie in diesem Kurs angewendet werden. Kernaufgabe ist die Entwicklung einer interaktiven Anwendung mit grafischer Benutzungsoberfläche auf Basis eines gemeinsam definierten Ziels. Die Projektarbeit wird in kleinen Teams durchgeführt.
Lernziel:

  • Kennenlernen der funktionalen Programmierung als Programmierparadigma,
  • Vertiefung der funktionalen Programmierkenntnisse an praktischen Beispielen,
  • Programmierung verteilter (Spiele-) und Simulationssysteme,
  • Arbeit mit Versionsverwaltung, Projektmanagement-Werkzeugen, verteilten Entwicklungsumgebungen,
  • Übung in projektartiger Arbeitsorganisation.

Vorgehen: An den ersten Terminen wird es eine Einführung in die funktionale Programmierung mit der Sprache Racket geben. Die Einführung wird begleitet von kleinen Übungsaufgaben und "Fingerübungen", welche die Konzepte der funktionalen Programmierung näherbringen. 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.

 
Literatur: How to Design Programs: An Introduction to Programming and Computing
Matthias Felleisen 
MIT Press, 2001
https://kataloge.uni-hamburg.de/DB=1/XMLPRS=N/PPN?PPN=320149676
Digital viá https://htdp.org/

Structure and Interpretation of Computer Programs
Harold Abelson, Gerald Jay Sussman and Julie Sussman
MIT Press, 1996
?https://kataloge.uni-hamburg.de/DB=1/XMLPRS=N/PPN?PPN=1703256336

Racket Docs (Teachpacks): https://docs.racket-lang.org/teachpack/2htdp2htdp.html
* Image (2htdp/Image): https://docs.racket-lang.org/teachpack/2htdpimage.html
* World/Universe (2htdp/universe): https://docs.racket-lang.org/teachpack/2htdpuniverse.html
Übersicht der Kurstermine

1
2
3
4
5
6
7
8
9
10
Lehrende

David Christopher Mosteller
Termine

Datum Von Bis Raum Lehrende Termine
1
Datum Mo, 2. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
2
Datum Di, 3. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
3
Datum Mi, 4. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
4
Datum Do, 5. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
5
Datum Fr, 6. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
6
Datum Mo, 9. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
7
Datum Di, 10. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
8
Datum Mi, 11. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
9
Datum Do, 12. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
10
Datum Fr, 13. Sep. 2024
Bis 10:00
Bis 16:00
Raum D-010
Lehrende David Christopher Mosteller
Prüfungen im Rahmen von Modulen

Modul(Startsemester)/ Kurs Leistungs­kombination Prüfung Datum Lehrende Bestehens­pflicht
InfB-Prak Praktikum Informatik (SoSe 23) / InfB_Prak Praktikum Funktionale Programmierung Praktikumsabschluss 3 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak Praktikum Informatik (WiSe 22/23) / InfB_Prak Praktikum Funktionale Programmierung Praktikumsabschluss 4 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak Praktikum Informatik (SoSe 24) / InfB_Prak Praktikum Funktionale Programmierung Praktikumsabschluss 1 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak Praktikum Informatik (WiSe 23/24) / InfB_Prak Praktikum Funktionale Programmierung Praktikumsabschluss 2 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (SoSe 23) / SSE_PR Praktikum Funktionale Programmierung Praktikumsabschluss 3 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (WiSe 22/23) / SSE_PR Praktikum Funktionale Programmierung Praktikumsabschluss 4 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (WiSe 23/24) / SSE_PR Praktikum Funktionale Programmierung Praktikumsabschluss 2 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja
InfB-Prak/SSE Softwareentwicklungspraktikum (SoSe 24) / SSE_PR Praktikum Funktionale Programmierung Praktikumsabschluss 1 Praktikumsabschluss ohne Termin David Christopher Mosteller Ja