Kontakt
stefan.bente[at]th-koeln.de
+49 2261 8196 6367
Discord Server
Prof. Bente Personal Zoom
Adresse
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708 (Wegbeschreibung)
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Microservice Architectures (MSA), WS22

Microservices sind ein Architekturstil, der die Entwicklung großer Softwaresysteme in weitgehend autarken Teams ermöglich. In diesem Kurs lernen Sie die wichtigsten Konzepte dazu kennen. Innerhalb eines relativ großen Projekts setzen Sie selbst Aspekte synchroner und asynchroner Kommunikation um.

Studiengang und Modulbeschreibung
Code & Context (Bachelor) (siehe auch Modulbeschreibung auf der Studiengangs-Seite)
Zeitraum und zeitliche Organisation der Veranstaltung
05.12.2022 - 16.12.2022. Organisiert als Blockkurs mit definierten Präsenzzeiten. Siehe unten für die genauen Daten.
Ort der Veranstaltung
Die Veranstaltung findet in einem Hybrid-Format statt. Bitte schauen Sie bei dem jeweiligen Zeitschlitz oder Workshoptag nach (siehe unten auf dieser Seite), ob dieser online oder in Präsenz stattfindet. Falls auf dieser Seite keine Angaben sind, prüfen Sie bitte die sonstige Kommunikation (z.B. Discord).
Raum: 423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28)
Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09 (nur in Ausnahmefällen und wenn explizit vorher für den Tag kommuniziert)
ILIAS/ILU-Kurs zur Veranstaltung
https://ilias.th-koeln.de/ilias.php?ref_id=2122372&cmdClass=ilrepositorygui&cmdNode=wc&baseClass=ilrepositorygui
Anmeldung zur Veranstaltung
Bitte werden Sie Mitglied in diesem ILIAS/ILU-Kurs. Die Deadline ist 07.12.2021.
Miro Board für Gruppenarbeiten, Notizen und Modellieren während des Kurses
Im Kurs können Sie dieses Board nutzen.
Discord-Server für schnelle Kommunikation
Discord hat sich als sehr effektive Plattform für den Informationsaustausch, Diskussionen und Fragen an Lehrende/Betreuer:innen erwiesen. Deshalb sollten Sie dem ArchiLab-Discord-Server beitreten unter https://discord.gg/YYNYb5whU8. Navigieren Sie zum Channel #rollenzuweisung und klicken Sie auf coco. Die entsprechenden Kanäle zur Veranstaltung werden anschließend für Sie freigeschaltet.
Youtube-Kanal
Für diese Veranstaltung sind Lehrvideos auf Youtube verfügbar. Abonnieren Sie dafür am besten den Kanal ArchiLab. (Disclaimer - die Videos auf diesem Kanal sind nicht monetarisiert. Weder ich persönlich noch das Labor ArchiLab verdienen damit Geld. Wir nutzen YouTube vor allem deshalb, weil es für Studierende ein leicht zugänglicher Kanal ist. Außerdem bekommen wir als Labor an der TH Köln so auch Sichtbarkeit nach außen, was z.B. bei dem Einwerben von externen Gastvorträgen hilft.)

Learning Outcome

Als Software-Entwickler:in kann ich mittlere bis große Software- und IT-Systeme konzipieren und umsetzen,

indem ich ...

  • die Fachlichkeit der Anwendung mit Methoden des Domain-Driven Design analysiere,
  • darauf aufsetzend eine Service-Architektur mit synchroner und asynchroner Kommunikation konzipiere,
  • diese mit Hilfe von Standard-Technologie (Spring, RabbitMQ, Java) umsetze,
  • mein Vorgehen reflektiere und anderen beschreibe,

damit ich auf diese Weise große digitale Produkte entwickeln kann, die ein komplexes, verteiltes Backend erfordern.

Organisation der Veranstaltung

Microservice Architectures (MSA) ist eine Blockveranstaltung in Code & Context. Es wird folgende Struktur geben:

  • Die Tage sind als Workshop angelegt und gehen von 10:00 bis 16:00…17:00, mit einer Mittagspause, die wir je nach Tages-Agenda aushandeln.
    • Ich versuche, jeweils immer jede Stunde 5 min Pause einzuhalten. Sollte es mir durchgehen, erinnern Sie mich bitte daran.
    • Die Präsenz-Workshops werden vermutlich etwas länger als 16:00 gehen - um 17:00 ist dann aber sicher Schluss. Dafür sind die Remote-Workshops tendenziell kürzer und lassen mehr Freiraum für individuelles Arbeiten.
  • Die Workshops bestehen aus Inhaltsimpulsen, selbstständigen praktischen (Programmier- und Modellier-)Übungen und Gruppenreflektionen.
  • Die einige Inhalte der Veranstaltung sind als Lehrvideos verfügbar. Für einige Videos ist während des Tages Zeit vorgesehen, um diese zu schauen; andere schauen Sie bitte nach 16:00, vor Beginn des nächsten Tages.
  • Siehe auch Zeitplan mit nach Workshoptagen aufgeschlüsselten Inhalten,
    dort sind die Videos direkt verlinkt.
  • Der Mittwoch ist als Selbstlern-Tag konzipiert. An diesem Tag gibt es kein Workshop-Programm.
  • Ein Feedback ist auch außerhalb der Workshop-Zeiten möglich, bevorzugt über Discord (siehe oben).

Präsenz vs. Remote

Dies ist eine hybride Veranstaltung in dem Sinne, dass sich Präsenz- und Remote-Veranstaltungen abwechseln. WICHTIG: Bei Krankheitssymptomen bleiben Sie BITTE zu Hause! Alle Inhaltsimpulse werde ich aufzeichnen und als Recording zur Verfügung stellen. Nur Diskussionen und Präsenz-Aktionen wie das Event-Storming machen keinen Sinn als Aufzeichnung. Stand heute gibt es folgende Verteilung von Präsenz und Online:

Mo 5.12. Di 6.12. Do 8.12. Fr 9.12. Mo 12.12. Di 13.12. Do 15.12. Fr 16.12.
Präsenz Präsenz remote remote Präsenz remote remote Präsenz

Vorbereitung auf den Kurs

  • ILIAS-Kurs MSA beitreten
  • Mir einen gitlab.com-Account zukommen lassen (nicht die campusId!)
  • Videos schon mal ansehen - s.u. unter “Zeitplan”
  • Wer will: Literaturliste anschauen und sich das eine oder andere schon mal besorgen (ebenfalls s.u.)

Fallstudie

Als Fallstudie nehmen wir das Microservice-Dungeon-Projekt. Hier sollen Sie in Teams von 3-4 Personen jeweils einen Player-Service entwickeln, der mit den anderen Player-Services zusammenarbeiten kann. Die wesentlichen Links zu dem Projekt sind diese hier:

Aufgaben in der Fallstudie

Achtung: In diesem Projekt sind wir ausschließlich im Backend unterwegs. Clients (UIs) sind nicht Bestandteil der Aufgabe. Sie können aber so etwas als Bonus machen (s.u.). Ihre Aufgabe in der Fallstudie wird sein:

  1. Erfassen Sie die Fachlichkeit eines Players, der Robots steuert, mit Hilfe von EventStorming und anderen Mitteln. Reflektieren Sie die Fachlichkeit (was Ihr Player kann) und Ihre Entscheidungen und Herausforderungen in einer abschließenden Präsentation.
  2. Implementieren Sie einen Player. Jeder Player ist ein eigenständiger Service, der mit den Core-Services über REST und RabbitMQ-Events kommuniziert. Ein Player sollte zumindest die nachfolgenden Funktionalitäten beherrschen (und zwar automatisiert, nicht durch manuelle Steuerung):
    • Robots kaufen
    • Robots über die Map bewegen
    • Ressourcen minen
    • Ressourcen verkaufen
  3. Arbeiten Sie mit anderen Playern zusammen. Sprich: bauen Sie Kommunikationsstrukturen auf, um mit den anderen Playern in diesem Kurs zu kommunizieren und z.B. Informationen auszutauschen.
  4. Sorgen Sie für ein Hosting des Players in unserer Microservice-Dungeon-Projekt-Umgebung. Dazu gibt es noch eine Einführung. Ihr Player muss in einem Repo in der Gruppe https://gitlab.com/the-microservice-dungeon/player-teams/msa liegen und sein Name muss mit player- beginnen.

Bonus oder Abwertung

Die Bewertung der obigen Punkte erfolgt im Team. Dabei gehe ich von einer gleichmäßigen Leistung aller Mitglieder aus. Wenn das nicht der Fall ist (wenn also z.B. ein Teammitglied sich erkennbar nicht an der Gruppenarbeit beteiligt), dann behalte ich mir vor, dieses Teammitglied schlechter zu bewerten als die anderen. Stellen Sie also z.B. sicher, dass Sie auch bei Pair Programming auch selbst Commits ins System pushen.

Als Bonus würde z.B. Folgendes gewertet (entweder individuell oder für das ganze Team):

  • Besondere Features über das oben Beschriebene hinaus, z.B. ein UI-Client für den eigenen Player, besonders gute Tests, …
  • Außergewöhnlicher individueller Einsatz, entweder im eigenen Team, oder in der gesamten Gruppe (z.B. durch Helfen)

Bezüglich Technologie haben Sie freie Wahl - einzig die Protokolle für die Kommunikation mit den Core-Services sind gesetzt (REST bzw. AMQP, also das RabbitMQ-Messaging-Protokoll). Beachten Sie aber, dass Sie keine technische Unterstützung von mir oder anderen aus dem Microservice-Dungeon-Projekt erwarten können, wenn Sie auf eine Exoten-Technologie setzen - das müssen Sie dann selbst hinbekommen. Auch das Hosting ist Ihre Verantwortung.

Abschlussreflektion

Am letzten Freitag des Kurses machen wir eine Abschlussreflektion mit allen Teams. Dabei stellt jedes Team in einer praktischen Demo vor, wie weit sie mit dem Player gekommen sind. Außerdem beantwortet die Reflektion folgende Leitfragen:

  1. Was hat mir in dem Architekturstil “Microservice” mit einer Event-Driven Architecture Schwierigkeiten bei Verständnis und Umsetzung gemacht? Was ist “anders” als bei früheren Software-Projekten von mir?
  2. Was hat bei der Bewältigung der Komplexität geholfen?
  3. Wenn ich an so ein Projekt (z.B. einer großen eCommerce-Plattform, die aus Microservices besteht) für Geld mitarbeiten würde - was würde ich individuell, als Team und/oder als Gesamtprojekt anders machen?
    • Bitte machen Sie realistische und konkrete Vorschläge
    • Also “Dafür sorgen, dass alle anderen Services keine Bugs haben” genügt nicht, Sie sollten auch schon vorschlagen, wie Sie das erreichen wollen.
  4. Was nehme ich ganz persönlich aus dieser Fallstudie mit?

Sie brauchen keine Folien zu machen. Mündlich oder Hilfsmittel wie Miro-Board genügen. Jeder aus dem Team sollte an der Erstellung und Reflektion mitwirken. Die Leitfragen können Sie für das ganze Team beantworten (also sammeln).

Benotung

Die Benotung erfolgt in diesem Kurs in Teilgruppen, basieren auf einem Code Review des eigenen Players. Die Benotung orientiert sich an den obigen Anforderungen an den Player plus Bonus. Details folgen noch, aber die Benotung wird sich an dem nachfolgenden Schema orientieren.

Note Bedingung
1,0 Alle Bedingungen 1) - 4) umfassend erfüllt (oder teilweise Kompensation durch Bonus)
2,0 Bedingungen 1) - 3) umfassend erfüllt (oder teilweise Kompensation durch Bonus)
3,0 Bedingungen 1) - 2) umfassend erfüllt (oder teilweise Kompensation durch Bonus)
4,0 Bedingung 1) umfassend erfüllt (oder teilweise Kompensation durch Bonus)

Angepasstes Benotungsschema (14.12.22)

Angesichts der doch teilweise großen Probleme in den Teams, mit der Technologie und dem Architekturstil einer Event-Driven Architecture werden die Anforderungen wie folgt vereinfacht.

Die Leistung wird mit gut (2,0) bewertet, wenn

  • in der Reflektion am Freitag Nachmittag die Leitfragen (siehe oben zur Abschlussreflektion) passend und vollständig bearbeitet sind und der Player in einer Demo sinnvoll vorgestellt wurde
  • der eigene Player Robots kaufen und über die Map bewegen kann, ohne dass Exceptions geworfen werden (alles Weitere ist dann Bonus, inklusive auch Mining und Verkaufen von Ressourcen)
  • die Softwarequalität gut ist, d.h. insbesondere die Grundsätze des in den Kursen Clean Code und Application Design erlernten Stoffs eingehalten werden

Alles darüber Hinausgehende aus der obigen Aufgabenliste ist Bonus und trägt zur Verbesserung der Note bei.

Literatur

Hier finden Sie bewusst eine längere Liste zum Weiterlesen. Die aus meiner Sicht wichtigsten Titel sind fettgedruckt.

  1. Brandolini, A. (2022). Introducing EventStorming. LeanPub, https://leanpub.com/introducing_eventstorming
  2. Evans, E. (2015). Domain-Driven Design Reference—Definitions and Pattern Summaries. Domain Language, Inc. URL
  3. Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software (1st edition). Addison-Wesley Professional.
  4. Fowler, M. (2014, January 15). Bounded Context. martinfowler.com. URL
  5. Fowler, M. (2017, February 7). What do you mean by “Event-Driven”? martinfowler.com. URL
  6. Gauder, S. (2019, April 1). A competitive food retail architecture with microservices. microxchg 2019. URL
  7. Graca, H. (2017, November 16). DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together. @hgraca. URL
  8. Levin, G. (2017, March 25). Internal vs. External APIs. REST API and Beyond. URL
  9. Newman, S. (2021). Building Microservices: Designing Fine-Grained Systems (2nd ed.). O’Reilly and Associates.
  10. Richardson, C. (2015, May 19). Introduction to Microservices. NGINX. URL
  11. Samokhin, V. (2018, January 18). DDD Strategic Patterns: How to Define Bounded Contexts - DZone Microservices. Dzone.Com. URL
  12. Steinacker, G. (2016, March 20). Why Microservices? Dev.Otto.De. URL
  13. Tilkov, S., Eigenbrodt, M., Schreier, S., & Wolf, O. (2015). REST und HTTP: Entwicklung und Integration nach dem Architekturstil des Web (3., akt. u. erw. Aufl.). dpunkt.verlag GmbH.
  14. Vernon, V. (2013). Implementing Domain-Driven Design (01 ed.). Addison Wesley.
  15. Wolff, E. (2015). Microservices: Grundlagen flexibler Softwarearchitekturen (1., Auflage). dpunkt.verlag.
  16. Wolff, E. (2016b, November 29). Self-contained Systems: A Different Approach to Microservices. InnoQ Blog. URL

Workshops

Mon 05.12.2022, 10:00 - 16:00: Kickoff mit EventStorming

In diesem ersten Blocktag starten wir in die Veranstaltung, klären Organisatorisches, dann erschließen wir uns die Fallstudie mit einem EventStorming.

Ort des Workshops

Raum: 423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).

Ziel des Tages

Sie wissen, was in den zwei Wochen auf Sie zukommt, haben die Domäne verstanden und Teams gebildet.

Videoaufzeichnung

Eine Videoaufzeichnung gibt es hier. (Passwort: TDruEV*0).

Agenda

  • 10:00 - 10:30:  Organisatorisches
    • Zeitplan und Struktur der ersten und zweiten Woche (Workshops, Übungen, Videos)
    • Youtube-Channel
    • Discord als präferiertes Kommunikationsforum
    • Benotung
  • 10:30 - 11:15:  Einführung in das Microservice-Dungeon-Projekt
  • 11:15 - 12:00:  Diskussion der Fachlichkeit im Team
    • Sie schauen sich die Dokumentation noch einmal in Ihren Teams an und sammeln Fragen
    • Anschließend versuchen wir die Fragen zu klären
  • 12:00 - 13:00:  Mittagspause
  • 13:00 - 15:00:  EventStorming
    • Wir machen ein EventStorming zu der Funktionalität des Players
  • 15:00 - 16:00:  Wrap-Up und Fragen
    • Abschließend Wrap-Up und Ende des Workshop-Tages

Aufgabe bis zum nächsten Workshop

  • Überlegen Sie, wie Sie die Funktionalität umsetzen können
  • Sammeln Sie weitere Fragen
  • Schauen Sie sich das Video für den nächsten Tag an

Tue 06.12.2022, 10:00 - 16:00: Microservices - Motivation und technische Grundlagen

In diesem zweiten Blocktag beschäftigen wir der Architektur von Microservice-Landschaften mit ihren Kommunikations-Pattern - und wann & wieso man das so macht.

Ort des Workshops

Raum: 423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).

Ziel des Tages

Sie haben für sich klar, wie die grundsätzliche Architektur funktioniert, und was Ihr Player machen muss.

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag und zum Microservice-Dungeon-Projekt
  • 10:15 - 11:45:  Planspiel "Synchrone vs. Asynchrone Kommunikation"
    • ... sehen Sie dann ;-)
  • 11:45 - 12:30:  Motivation - Verteilte Softwaresysteme und Bearbeitung in Teams
    • PDF liegt hier in ILAS.
    • Es gibt einen Video-Mitschnitt (Passwort GAe@1Ae$).
    • Traditionelle Architekturen
    • Heutige Anforderungen - agile Teams, schnelle Time2Market
    • Conway's Law
    • Microservices als unabhängige Einheiten
  • 12:30 - 13:30:  Mittagspause
  • 12:30 - 14:45:  Vorstellung des Players M.O.N.T.E.
    • Den Player M.O.N.T.E. können Sie als Basis nehmen, um eigene Funktionalität zu implementieren (müssen Sie aber nicht).
    • Ich stelle den Player vor. Anschließend können Sie sich den Player in den Teams anschauen und entscheiden, ob Sie den eigenen Player darauf aufbauen lassen wollen.
    • Es einen Video-Mitschnitt der Kurzvorstellung des Players (Passwort 6J06H8#C). Achtung - leider habe ich erst ab Minute 11 angefangen, den Bildschirm zu teilen.
    • Sammeln Sie im Team offene Fragen. Die können wir dann klären.
  • 14:45 - 16:00:  Anlegen des eigenen Players
    • ... entweder als Fork von M.O.N.T.E. oder als eigenes Projekt.

Aufgabe bis zum nächsten Workshop

  • Arbeiten Sie sich in den Code ein
  • Sammeln Sie Fragen

Wed 07.12.2022: Selbstlerntag

Aufgabe bis zum nächsten Workshop

  • Arbeiten Sie sich in den Code ein
  • Schauen Sie sich die Videos für den nächsten Tag an

Thu 08.12.2022, 10:00 - 16:00: Coding-Session zum Loslaufen mit dem eigenen Player

Sie haben Zeit, Ihr Dev Env ans Laufen zu bringen und sich als Team zu organisieren. Am Nachmittag gibt es eine Live-Coding-Session zum Thema "REST-Calls"

Ort des Workshops

Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09 .

Ziel des Tages

Ihr lokales Dev Env ist aufgesetzt und funktioniert

Schauen Sie bitte vorab nachfolgende Videos

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag und zum Player
  • 10:15 - 12:30:  Individuelle Arbeitszeit - Aufsetzen des lokalen Dev Env
  • 12:30 - 13:30:  Mittagspause
  • 13:30 - 14:30:  Live-Coding-Session - REST Calls aus dem Player heraus
    • Ich demonstriere Ihnen, wie Sie aus dem Player heraus Kommandos via REST-Call absetzen können.
  • 14:30 - 15:45:  Individuelle Arbeitszeit - Absetzen eines Kommandos
    • Sie arbeiten daran, aus dem Player heraus ein Kommando abzusetzen
  • 15:45 - 16:00:  Schnelle Runde & Wrap-Up des Tages

Aufgabe bis zum nächsten Workshop

  • Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.

Fri 09.12.2022, 10:00 - 12:30: Individuelle Arbeitszeit und erste Retro

Sie haben Zeit, an Ihrem Player zu arbeiten. Zum Mittag hin machen wir eine Retro.

Ort des Workshops

Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09 .

Ziel des Tages

Sie können mit der Woche zufrieden sein ;-).

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag
  • 10:15 - 11:00:  Live-Coding - Wie baue ich ein neues Event ein?
    • Ich stelle kurz vor in einer Live-Coding-Session vor, wie man auf ein neues Event horcht. Den Video-Mitschnitt gibts hier. (Passwort N5s5CwM)
  • 11:00 - 11:45:  Individuelle Arbeitszeit - Arbeit am Player
  • 11:45 - 12:30:  Retro
    • Wir machen eine Retro und schauen auf die erste Kurswoche zurück.

Mon 12.12.2022, 10:00 - 16:00: Coding-Session mit Event-Processing

Sie arbeiten beim eigenen Player am Thema "Event-Processing". Dazu gibt es auch eine Live-Session.

Ort des Workshops

Raum: 423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28). Es gibt zusätzlich eine Videokonferenz. Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09

Ziel des Tages

Sie können Event-Listener schreiben und dadurch Aktionen im eigenen Player anstoßen. Konkret können das "round-status"-Event auslesen und aus dem Handler heraus bestimmen, was ihr Player als nächstes tun soll (z.B. Robots kaufen).

Agenda

  • 10:00 - 10:15:  Fragen zur vorigen Woche und zum Player
  • 10:15 - 10:45:  Fragen zur vorigen Woche und zum Player
    • Aktuelle Änderungen im Generic Player - und wie mache ich den Merge in meinen Code?
    • Hier ist die Videoaufzeichnung dazu (Passwort bzdaKK1DS1!)
  • 10:45 - 14:30:  Individuelle Arbeitszeit
    • Darin individuelle Mittagspause
  • 14:30 - 15:00:  Live-Coding-Session - Commands absetzen
    • Ich demonstriere Ihnen, wie Sie im Player ein Command an den Game-Service via REST absetzen können.
    • Hier ist die Videoaufzeichnung dazu (Passwort bzdaKK1DS1!)
  • 15:00 - 16:00:  Individuelle Arbeitszeit - Event-Listener
    • Sie arbeiten daran, im Player Events zu lesen

Aufgabe bis zum nächsten Workshop

  • Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.

Tue 13.12.2022, 10:00 - 16:00: Coding-Session mit Hosting

Sie arbeiten weiter am eigenen Player.

Ort des Workshops

Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09 .

Ziel des Tages

Sie können Robots kaufen und verstehen alle Events, die damit zusammenhängen.

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag und zum Player
  • 10:15 - 15:45:  Individuelle Arbeitszeit
    • Darin individuelle Mittagspause
    • Bei Fragen rufen Sie mich in Zoom, ich komme dann dazu.
  • 15:45 - 16:00:  Schnelle Runde & Wrap-Up des Tages

Aufgabe bis zum nächsten Workshop

  • Wenn Sie noch können und wollen, arbeiten Sie weiter an Ihrem Player.

Wed 14.12.2022: Selbstlerntag

Thu 15.12.2022, 10:00 - 16:00: Individuelle Arbeitszeit

Bereiten Sie Ihren Player für eine Präsentation vor. Arbeiten Sie weiter am Code, und versuchen Sie Ihren Player in einen stabilen Zustand zu bekommen.

Ort des Workshops

Videokonferenz-Link: https://th-koeln.zoom.us/j/83423737126?pwd=UWJRUnp5VEVGU3YxaUlrSHltNDJCZz09 .

Ziel des Tages

Ihre Robots können sich über die Map bewegen.

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag
  • 10:15 - 11:30:  Individuelle Arbeitszeit mit Möglichkeit für Fragen
  • 11:30 - 12:30:  Einführung Hosting
    • Thomas Raser gibt aus dem DevOps-Team des Microservice-Dungeon-Projekts heraus eine Einführung, wie Sie Ihren Player deployen können.
    • Hier ist die Video-Aufzeichnung (Passwort 1@#k1%1C)
  • 12:30 - 15:45:  Individuelle Arbeitszeit mit Möglichkeit für Fragen
    • Darin individuelle Mittagspause
  • 15:45 - 16:00:  Schnelle Runde & Wrap-Up des Tages

Aufgabe bis zum nächsten Workshop

  • Präsentation für Freitag vorbereitet und im Team abgesprochen.

Fri 16.12.2022, 10:00 - 16:00: Individuelle Arbeitszeit und Abschlusspräsentation

Bereiten Sie Ihren Player für eine Präsentation vor. Arbeiten Sie weiter am Code, und überlegen Sie sich die Punkte für die Teampräsentation mit Reflektion am Freitag. Dann gibt es die Teampräsentationen und eine Abschluss-Retro.

Ort des Workshops

Raum: 423 (Code & Context, Standort Köln Mülheim, Schanzenstr. 28).

Agenda

  • 10:00 - 10:15:  Fragen zum vorigen Tag
  • 10:15 - 13:00:  Vorbereitung Ihrer Präsentation
    • Letzte Arbeiten am Player
    • Sie bereiten Ihre Präsentation für den Nachmittag plus eine Demo Ihres Players vor.
    • Darin individuell Mittagspause
  • 13:00 - 15:15:  Team-Präsentationen
    • Vorstellen des Players und seiner Features
    • Reflektion von Herausforderungen und individuellen Learnings / Takeaways
    • Bitte max. 20 min pro Team
    • Reihenfolge ist wie folgt (durch random.org ermittelt) ...
    • (1) player-YaDaJo
    • (2) player-team2
    • (3) t-3
    • (4) Le Gœtémarx
    • (5) player-walle
    • (6) Team 7 player
  • 15:15 - 16:00:  Abschluss-Retro