Modulbeschreibung

Ingenieurinformatik III

ECTS-Punkte:
10
Lernziele:

Die Studierenden

  • kennen das Betriebssystem Android
  • kennen wichtige Teile der Software Bibliothek (GUI, Networking, Security, etc.).
  • können einfache Applikationen entwickeln.

 

  • kennen den Aufbau und die Wirkungsweise der wesentlichen Software-Komponenten eines Computersystems.
  • kennen ein gängiges Mehrbenutzerbetriebssystem.
  • können ein Computersystem mit gezielten Eigenentwicklungen ergänzen.

 

  • kennen die spezifischen Anforderungen verteilter Systeme und deren Architekturen.

  • kennen Verfahren der Maschine-Maschine-Kommunikation und können diese einsetzen.

  • kennen die grundlegenden Mechanismen der Mobilkommunikation.

  • können ein verteiltes System (web-basiert, 3-Tier) aufbauen.

  • kennen Kommunikationsprotokolle für das Internet der Dinge (IoT).

 

  • kennen die Betriebssysteme und Hardwarekomponenten von eingebetteten Systemen.
  • kennen best practices bei der Entwicklung von eingebetteten Systemen für das Internet der Dinge: Software Architekturen, Debugging Tools, Tools zur Softwareverwaltung, statische Code-Analyse, etc..
  • lesen einen Sensor für eine typische IoT-Anwednung über ein gängiges Protokoll ein und schicken diesen Messwert an eine zentrale Stelle.

 

  • können für einen einfachen Anwendungsfall eine Daten-Pipeline konzipieren und implementieren.

  • können Sensordaten von einer Maschine (z.B. Hybride Lernfabrik) lesen, verarbeiten und in einer geeigneten Datenbank speichern.

  • können Daten von definierten Schnittstellen (z.B. OPC-UA , REST) konsumieren.

  • kennen die Einsatzgebiete, Vor- und Nachteile von NoSQL Systemen.

  • können Zeitreihen in geeigneten Datenbanken speichern.

  • können cloud-basierte Werkzeuge zur Datenspeicherung und Verarbeitung einsetzen .

  • können real-time Datenströme effizient verarbeiten.

  • kennen Architekturen für verteilte Systeme.

  • können ein kleines Data-Engineering Projekt selbständig durchführen, dokumentieren und präsentieren.

Kurse in diesem Modul

Android:

Android ist eine der Hauptplattformen für die Entwicklung von mobilen Applikationen auf Nicht-Desktop-Rechnern.

  • Architektur mit Kernkomponenten
  • UI-Widgets
  • Intents
  • Sensorik (Camera, IMU, …)
  • Telefonie
  • Web Services
Selbststudium mit 0 Lektionen pro Woche
Betriebssysteme:
  • Betriebssysteme: Architektur und Konzepte
  • Parallelprogrammierung, Prozessverwaltung
  • Prozesssynchronisation, Interprozesskommunikation
  • Kernel, Treiber,
  • Speicherwaltung, Dateisysteme
  • Echtzeitaspekte
Klassenunterricht mit 4 Lektionen pro Woche
Verteilte Systeme und IoT:

Mobilkommunikation

  • Grundlagen (Übertragungsverfahren, Medienzugriffsverfahren)
  • Öffentliche Netze (GSM, GPRS, UMTS, LTE)
  • Private Netze (WLAN, Bluetooth, ZigBee)


Verteilte Systeme

  • Grundlagen; Aufbau von geschichteten, objektorientierten, event-basierten und service-orientierten Architekturen
  • M2M-Kommunikationstechniken: RPC, RMI, Webservices (SOAP, REST)
  • Message oriented Middleware (MOM)

 

IoT:

  • Kommunikationstechniken: WebSockets, MQTT, CoAP

 

Projektarbeit

  • web-basierte 3-Tier Anwendung
Klassenunterricht mit 4 Lektionen pro Woche
Embedded Systems und IoT:

Dieser Selbststudienkurs vermittelt grundlegendes Basiswissen und Konzepte für die Entwicklung von eingebetteten Systemen für IoT Anwendungen. 

Selbststudium mit 0 Lektionen pro Woche
Data Engineeering:

Die Vorlesung ist zweiteilig aufgebaut. Der erste Teil wird von Studierenden der Profile Inf und CoE belegt. Der zweite Teil wird nur von Inf-Studierenden belegt.

 

Teil 1, Wochen 1 – 7:
behandelt Themen des DataEngineering wie sie im industriellen Umfeld auftreten. Dieser Teil wird in Woche 7 mit einer schriftlichen Prüfung abgeschlossen. 

  • Analyse und Beschreibung des Data Lifecycle
  • Implementierung einer Data-Pipeline im industriellen Umfeld.
  • OPC UA Client-Server Kommunikation
  • Daten von einer REST-Schnittstelle konsumieren
  • NoSQL (JSON Documents, evtl. Aggregate Pattern)
  • Extract, Transform and Load (ETL)
  • Verteilte Datenbanken. Sharding. Replication

 

Teil 2, Wochen 8 – 14 
behandelt Konzepte und Architekturen aus dem Themenkreis Big Data und Cloud Computing. In diesem zweiten Teil bearbeiten die Studierenden ein kleines Projekt. Am Semesterende findet eine mündliche Prüfung statt, in welcher das Projekt und die Fachkenntnisse benotet werden.

(Die Technologiewahl kann abweichen)

  • Das MapReduce Programmiermodel
  • Cluster Computing (z.B. mit Spark / Kubernetes)
  • Batch- und Stream-Daten
  • CAP Theorem
  • Streaming Data Ingestion (z.B. Spark)
  • Workflow Management (z.B. Airflow)
  • Einfache Stream Analyse und Prediction mit einer Standard ML-API
Klassenunterricht mit 4 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.