direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

Programmierpraktikum: Verteilte Systeme

Termine
Ereignis

Termin
Raum
Dozent
Kick-Off
17. Oktober 16-18 Uhr
HFT - TA 441
Verbitskiy
Thamsen
Die restlichen Termine werden in Rücksprache mit den Teilnehmer_innen festgelegt.

Zur Koordination der Termine haben wir einen ISIS Kurs eingerichtet: Link.

Anmeldung

  • Dieses Programmierpraktikum richtet sich an Studierende der Studiengänge Informatik, Technische Informatik und Wirtschaftsinformatik.
  • Dieses Modul ist unbenotet, d.h. es wird am Ende nur ein bestanden/nicht-bestanden ermittelt.
  • Dieses Praktikum ist auf 12 Teilnehmer_innen begrenzt.

Zielgruppe

Bachelorstudierende mit grundlegenden Programmierfähigkeiten, die Erfahrung in der Softwareentwicklung im Team und einem praktischen Projekt aus dem Bereich der Verteilten Systeme sammeln möchten. Das Programmierpraktikum ist in folgenden Studiengängen belegbar:

  • Bachelor Informatik (Wahlpflicht Programmierpraktikum oder Wahlpflichtbereich)
  • Bachelor Technische Informatik (Fachstudium Informatik)
  • Bachelor Wirtschaftsinformatik (Wahlpflichtbereich)

Inhalt

Immer mehr eigenständige Geräte, angeschlossen an das globale Internet, führten zum heutigen Internet der Dinge (IoT). Seien es vernetzte Autos, Umweltmesstationen oder die kleinen Amazon Dash Buttons, der Alltag wird immer stärker von IoT durchzogen. Die von den IoT-Geräten gesammelten Daten werden üblicherweise gesammelt und analysiert, um wertvolle Informationen aus den Daten zu extrahieren.

Ziel der Programmierpraktikums ist es eine IoT-Datenverarbeitungs-Pipeline aufzubauen, bestehend aus:

  1. Kleinen Wifi-Microcontrollern, die maschinennah programmiert werden können und Daten für die weitere Verarbeitung generieren.
  2. Einer Machine Learning Platform, wahlweise auf einem einzelnen Server oder einem Cluster laufend, die die Daten der Wifi-Boards analysiert und verarbeitet.
  3. Einer Visualisierungs-Webanwendung, die den Zustand des Systems bzw. der Berechnungen darstellt (also z. B.: Überwachung des Zustands der beteiligten Rechner, Überwachung des Netzwerks, Visualisierung der Ergebnisse aus dem Machine-Learning-Schritt, etc.)

Teilnehmer_innen werden sich anfangs (je nach Vorkenntnissen und Interessen) in drei Teams aufteilen, die dann jeweils eine der Stufen in der Pipeline umsetzen. Die Teilnehmer_innen sollen sich innerhalb des Teams mit den jeweiligen Kerntechnologien vertraut machen und die Arbeit koordinieren, sich aber auch mit den anderen Teams absprechen, um die Zusammenarbeit der einzelnen Pipeline-Schritte zu gewährleisten.

Bei der Umsetzung sollen moderne Praktiken des Projektmanagements eingesetzt werden. Hierbei sollen Methoden aus der agilen Softwareentwicklung verwendet werden–insbesondere ein iterativer Entwicklungsprozess und typische Werkzeuge aus der Welt der Open Source-Entwicklung.

Voraussetzungen

Solide Programmierkenntnisse in einer objekt-orientierten Programmiersprache. Interesse an der Entwicklung verteilter Softwaresysteme und an skalierbarer Datenanalyse.

Zusatzinformationen / Extras

Quick Access:

Schnellnavigation zur Seite über Nummerneingabe

Auxiliary Functions

Ansprechpartner

Ilya Verbitskiy
+49 (30) 314-78946
Room TEL 1209

Ansprechpartner

Lauritz Thamsen
+49 (30) 314-24539
Room TEL 1210

Modulbeschreibungen