← Startseite

Verteilte Systeme - Semesterprojekt

Übung 1: Projektvorstellung & Teambildung

Prof. Dr. Alexandra Mikityuk

HTW Berlin - Sommersemester 2026

Masterkurs Programmierprojekt Teamarbeit

Warum ein Semesterprojekt?

Das ist ein Masterkurs - Sie sind bereit für eigenständiges Arbeiten!

Statt Einzelübungen...

  • Isolierte Socket-Aufgabe
  • Isolierte Thread-Aufgabe
  • Isolierte REST-Aufgabe
  • Isolierte MQTT-Aufgabe

...ein echtes Projekt!

  • Alles zusammen in einer Anwendung
  • Echte Architekturentscheidungen
  • Teamarbeit wie in der Praxis
  • Etwas Vorzeigbares am Ende!

Das ist ein Programmierprojekt!

Sie müssen funktionierenden Code schreiben!

Ihr Projekt ist eine Software-Anwendung - keine PowerPoint-Präsentation

Wir prüfen eure GitHub Commits - regelmäßige Beiträge von allen Teammitgliedern

Copy-Paste von ChatGPT funktioniert nicht - Sie müssen Ihren Code verstehen und erklären können

Die Demo muss LIVE laufen - kein Video, kein Screenshot, keine Simulation

Wir fragen nach: "Zeig mir diese Funktion. Wie funktioniert das? Erklär den Code."

Was ist KEINE akzeptable Abgabe?

Eine PowerPoint ohne Code

Schöne Folien ersetzen kein funktionierendes System. Die Präsentation begleitet die Demo - nicht umgekehrt.

Eine theoretische Arbeit

Keine Seminararbeit, kein Paper. Dieses Projekt verlangt funktionierende Software mit verteilter Kommunikation.

Code der nicht kompiliert/läuft

Wenn es bei der Demo nicht startet, ist das ein ernstes Problem. Testen Sie vorher gründlich!

Code ohne Commit-Historie

Ein einzelner "Initial commit" mit dem gesamten Projekt am letzten Tag? Das ist kein Entwicklungsprozess.

Wir erwarten echte Softwareentwicklung - mit Commits, Branches, und nachvollziehbarem Fortschritt!

Rahmenbedingungen

👥

Teamgröße

2-3 Personen

💻

Sprache

Frei wählbar

(Python, Java, C, Go, JS...)

🎤

Abgabe

Präsentation + Live-Demo

Am Semesterende

📂

Code

GitHub Repository

Dokumentation im README

Technische Anforderungen

Euer Projekt muss mindestens 2 der folgenden Technologien verwenden:

Socket-Programmierung

TCP/UDP Kommunikation zwischen Prozessen

Threads / Nebenläufigkeit

Parallele Verarbeitung, Worker-Modelle

REST API

HTTP-basierte Schnittstelle für Daten

MQTT

Publish/Subscribe Messaging

Bonus: Blockchain/P2P-Elemente, Containerisierung (Docker), CI/CD

Projektideen zur Inspiration

Smart Home Dashboard

Sensordaten via MQTT sammeln, REST API bereitstellen, Web-Dashboard zur Visualisierung

Verteilter Chat

P2P-Chat mit Sockets, mehrere Nodes, Message History via REST

Echtzeit-Monitoring

Verteilte Agenten senden Metriken, zentrale Auswertung, Alerts via MQTT

Mini-Blockchain

Eigene Blockchain implementieren: Nodes, Konsens, Transaktionen, REST-Explorer

Verteilter Dateispeicher

Dateien auf mehrere Nodes verteilen, Replikation, REST-Upload/Download

IoT Roboter-Steuerung

MQTT-Commands an Geräte, Sensorfeedback, REST-basiertes Control Panel

Eigene Ideen sind herzlich willkommen!

Meilensteine im Semester

Meilenstein 1: Projektidee & Team Woche 2-3

Team bilden, Projektidee formulieren, kurzes Konzeptpapier (1 Seite)

Abgabe: Projektbeschreibung + geplante Technologien

Meilenstein 2: Prototyp Mitte Semester

Grundlegende Kommunikation funktioniert, erster Prototyp steht

Kurze Statusvorstellung im Kurs (5 Min)

Meilenstein 3: Finale Präsentation Semesterende

Fertige Anwendung, Live-Demo, 15-20 Min Präsentation pro Team

Abgabe: Code (GitHub) + Kurzdokumentation

Bewertungskriterien

35%

Technische Umsetzung & Code-Qualität

Korrekte Nutzung der VS-Konzepte, sauberer Code, gute Architektur, nachvollziehbare Commit-Historie

30%

Funktionalität & Live-Demo

Funktioniert die Anwendung? Demo muss live laufen! Können Sie den Code erklären?

20%

Präsentation

Klare Erklärung, gute Struktur, Zeitmanagement

15%

Dokumentation

README, Architektur-Diagramm, Setup-Anleitung

65% der Note basieren auf Code + Demo. Ohne funktionierenden Code keine gute Note!

Vorlesungsthemen als Orientierung

Nutzt die Vorlesungsinhalte als Bausteine für euer Projekt:

📦

Prozesse & Threads

Nebenläufige Verarbeitung

🔌

Sockets

Direkte Netzwerkkommunikation

🌐

HTTP & REST

Web-basierte APIs

📨

MQTT

Publish/Subscribe Messaging

🔄

Synchronisation

Mutex, Semaphoren, Konsens

🔗

Blockchain / P2P

Dezentrale Architekturen

Tipp: Ihr könnt schon mit dem Projekt beginnen und Technologien einbauen, sobald wir sie in der VL behandeln!

Nächste Schritte

1. Heute: Teams bilden

Finden Sie 1-2 Partner. Tauschen Sie Kontaktdaten aus.

2. Diese Woche: Ideen brainstormen

Schauen Sie sich die Projektideen an. Überlegen Sie, was Sie interessiert.

3. Bis nächste Übung: Projektvorschlag

1 Seite: Was wollen Sie bauen? Welche Technologien? Grobe Architektur.

4. GitHub Repository anlegen

Erstellen Sie ein Repository und teilen Sie den Link mit mir. Erster Commit: README mit Projektbeschreibung.

Los geht's!

Bildet Teams & brainstormt!

Kontakt:

Prof. Dr. Alexandra Mikityuk

📱 +49 30 5019-2664 · 🏢 Raum 308

Ich freue mich auf eure Projekte!

1 / 12