64-160 Seminar Herausforderungen in der verteilten Software-Entwicklung
Lehrende:
Dr. Daniel Moldt
Zeit/Ort:
Fr, 10:15 bis 11:45, F-534, D-118/119
Kommentare/ Inhalte:
Hast Du Interesse Dein wissenschaftliches und praktisches Arbeiten mit Hilfe solider Grundlagen zu untermauern?
In diesem Seminar lernst Du wie Du Dir selbstständig die notwendigen Grundlagen für Dein Studium und Deine praktische Arbeit aneignen kannst.
Dieses Seminar findet im Kontext des Projekts 64-184 Projekt Kollaborative verteilte Software-Entwicklung statt. Die Teilnahme dort ist nicht notwendig. Wir werden aber relevante Themen aus dem Kontext professioneller Software-Entwicklung in diesem Seminar behandeln.
Zum einen werden wir inhaltlich einen Schwerpunkt auf die vier "K" (Kommunikation, Koordination, Kooperation und Kollaboration) als konzeptionelle Bestandteile der Prozesse in einem Entwicklungsteam legen und zum anderen werden wir zentrale Methoden, Techniken und Werkzeuge verteilter Software-Entwicklung behandeln.
Die konkrete Auswahl wird sich an Euren eigenen Interessen orientieren. Themenvorschläge sind:
- Softwarearchitektur / Softwareentwurf
- Programmierung (insb. Features von Java 17 - 22 und deren aktuelle Weiterentwicklung)
- Software-Entwicklungsansätze (Scrum (@Scale))
- DevOps
- Algorithmenentwurf
- Metamodellierung inkl. domänenspezifische Sprachen (DSLs)
- Werkzeuge inkl. deren Grundlagen und Nutzung (Idea, Git/Gitlab, Docker, Kubernetes, ...)
- Modellierungsverfahren (UML, Petrinetze, BPMN, ...)
- Webservice Technologie
- Multiagentensysteme
- Projektmanagement inkl. Business Intelligence Analysen
- Geschäftsprozessmodellierung
- Entwicklung verteilter Spiele
Lernziel:
Erlernt werden hochaktuelle Ansätze, Verfahren, Techniken, Methoden und Werkzeuge der Softwaretechnik und Informatik im gesamten Bereich des Software-Engineering.
Damit erwerben die Teilnehmenden grundlegende Kenntnisse und Fähigkeiten, die sie in die Lage versetzen, für die jeweiligen Anforderungskontexte von AnwenderInnen und InformatikerInnen selbst neue innovative Sprachen und Werkzeuge bereitzustellen, um ein effizientes, besseres Arbeiten zu ermöglichen.
Der gewählte Themenbereiche wird durch die Aufbereitung tiefer verstanden und kann in Beziehung zum gesamten Software-Entwicklungsprozess gesetzt werden.
Vorgehen:
Anfangs erfolgt eine Einführung durch den Veranstalter, dann Eigenstudium und Vorbereitung der Seminarvorträge mittels inkrementeller Foliensätze und Wiki-Dokumentation.
Alle Personen übernehmen die Verantwortung für die zeitgerechte, zweckgebundene Vorstellung einzelner Themen, die im Verlauf des Seminars benötigt werden. Dazu sind für die jeweiligen Vortragsthemen Kurzvorstellungen und webbasierte Dokumentation zu erstellen.
Als Unterstützung werden ein Wiki-basiertes Kollaborationssystem sowie das GitLab des Fachbereichs eingesetzt. In dem Umfeld finden sich weitere Materialien, die die Veranstalter vorab zur Verfügung stellen. Alle Materialien und Ergebnisse des Seminars werden gemeinsam verwaltet und zweckgebunden dokumentiert.
Es besteht die Möglichkeit, nach Absprache mit allen Beteiligten, dass ein Teil der Vorträge in einen Block an einem Wochenende innerhalb der ersten Hälfte der Vorlesungszeit gelegt werden kann.
Bei Interesse können Themen frühzeitig vor Beginn der Vorlesungszeit im September/Oktober schon vorbereitet werden. Bei Interesse bitte bei dem Veranstalter melden.
Es besteht die Möglichkeit, nach Absprache mit allen Beteiligten, dass ein Teil der Vorträge in einen Block an einem Wochenende innerhalb der ersten Hälfte der Vorlesungszeit gelegt werden kann.
Weiterhin kann die Seminarausarbeitung mit dem Projektbericht der parallel stattfindenden Projekte 64-858-P (Master) / 64-184 (Bachelor) Kollaborative verteilte Software-Entwicklung oder 64-192 (Bachelor) Einsatz von Kubernetes, Docker und Co für die Entwicklung einer Open-Source Software zusammengelegt werden, so dass ein unmittelbare praktische Einbettung der wissenschaftlichen Ausarbeitung erfolgt.
Literatur:
Literatur kann vorab bei den Veranstaltern erfragt werden und wird zudem in der Veranstaltung bekanntgegeben.
Zusätzliche Hinweise zu Prüfungen:
Neben der aktiven Mitarbeit, den Präsentationen und einer zusammenfassenden Webseite wird eine nachhaltige Dokumentation insbesondere in Form eines Berichts erstellt.
Für an den oben genannten Projekten Teilnehmende können Teile der Dokumentation zusammengefasst werden.
Das Seminar eignet sich für alle Bachelorstudiengänge!