Learning Outcome
After finishing this module students will be able to design, to build and to study mobile and distributed systems. They will achieve this goal by
- relating their own challenges to theoretical and conceptional foundations and the state of the art,
- designing distributed systems and software architectures based on appropriate architecture patterns,
- assessing and choosing relevant software and hardware stacks as well as methods and tools,
- implementing their concepts as executable code and deployable systems,
- reflecting on and studying mobile and distributed systems with regard to research and innovation.
This will enable participants to design, build and study mobile and distributed systems. It will empower them to contribute to research and development oriented projects.
Inhalte
- Mobile Computing
- Edge Computing and Internet of Things
- Fields of applications
- System architectures and pattern
- Relevant technologies and protocols
- Case studies
Lehr- und Lernmethoden
- Lectures and seminars
- Project and lab work
Präsenzzeit
72h (18h Vorlesung / 36h Seminar / 18h Übung)
Selbststudium
108h (davon 108h eigenständige Projektarbeit)
Empfohlene Literatur
- Will be made available during the semester
Verwendung des Moduls in weiteren Studiengängen
- WPF im Master Digital Sciences
Besonderheiten
Geförderter Kompetenzerwerb
Das Modul zahlt auf folgende Handlungsfelder und Kompetenzbereiche ein. Eine ausführliche Beschreibung der konkreten Komptenzen finden Sie weiter unten.
Designing for User Experiences
Developing Interactive and Distributed Systems
Exploring Advanced Interactive Media
Enhancing Interactions on Different Scales
Designing for User Experiences
-
Anforderungen und Bedarfe
-
Konzepte
-
Gestaltung
Developing Interactive and Distributed Systems
-
Technologie
-
Können hardware-basierte Technologien zur Interaktion mit Computern in verschiedenen Modalitäten einsetzen (bspw. sprachbasierte Interaktion, Tangible Computing, Physical Computing, Sensoren und Aktoren).
-
Kennen State-of-the-art Technologie zur Umsetzung von software-basierten Anwendungen (insb. in den Bereichen Web, Mobile, IoT, AR/VR, AI), können konkurrierende alternative Technologien auswählen und evaluieren, sich neue technologische Möglichkeiten erschließen, diese bewerten, nutzen, und integrieren sowie zukunftsorientiert neue Möglichkeiten screenen.
-
Wissen wie Kommunikation zwischen Computern realisiert wird (bspw. req/res, pub/sub und Protokolle wie HTTP, MQTT).
-
Wissen was ein Computer ist und wie Software darauf ausgeführt wird.
-
Entwurf
-
Verstehen formale Strukturen.
-
Können abstrahieren, logisch denken und komplexe Zusammenhänge verstehen.
-
Können Aspekte realweltlicher Probleme zu identifizieren, die für eine informatische Modellierung geeignet sind, algorithmische Lösungen für diese (Teil-)Probleme bewerten und selbst so zu entwickeln, dass diese Lösungen mit einem Computer operationalisiert werden können.
-
Implementierung
-
Kennen Entwicklungsumgebungen, Tools und entwicklungsnahe Prozesse und diese praktisch nutzen (insb. IDE, Compiler, Linker, Libraries, Debugging, Unit-Testing, Repositories für eigenen Code / git, Build Tools, Paketmanager).
-
Können (komplexe) Softwaresysteme im Team entwickeln.
-
Kennen Grundkonzepte agiler Entwicklung und agilen Arbeitens wie iterative und inkrementelle Entwicklung, selbstorganisierte Teams, Transparente Kommunikation, etc. und können diese in Projekten anwenden.
Driving Creation Process
-
Innovation
-
Management
-
Können erkennen, welche Kompetenzen zur Lösung eines Problems erforderlich sind.
-
Können ein Team zusammenstellen und dieses lauf- und lebensfähig halten.
-
Können kreative und agile Prozesse hinsichtlich Zeit- und Ressourcenmanagement effizient durchführen und verwalten.
-
Kommunikation
-
Können effektive und transparente Kommunikation und Zusammenarbeit fördern, Konflikte erkennen, analysieren und lösen.
-
Sind in der Lage Arbeits- und Forschungsergebnisse klar und verständlich in aussagekräftigen, zielgruppengerechten Berichten, Präsentationen o.Ä. zu kommunizieren.
-
Haben die Fähigkeit effektiv in multidisziplinären Teams zu arbeiten und die verschiedenen Fachperspektiven und -sprachen zu verstehen.
Enhancing Interactions on Different Scales
-
Situated Interaction
-
Können technologische Aspekte, die bei der Implementierung situierter Interaktion eine Rolle spielen, berücksichtigen, dies beinhaltet Kenntnisse über Sensortechnologien, Datenverarbeitung, maschinelles Lernen und die Integration von Software in physische Umgebungen.
-
Haben die Fähigkeit den Kontext von Interaktionen zu verstehen und darauf zu reagieren.
-
Können Sensoren und anderen Technologien integrieren, um den aktuellen Kontext, wie den physischen Standort oder die Umweltbedingungen, zu erfassen, um damit umgehen zu können.
-
Ethik und Gesellschaft
-
Haben ein Verständnis von ethischen Richtlinien, Standards sowie dem Schutz der Privatsphäre zum Wohlergehen der Nutzer:innen und können dieses in eigenes Handeln integrieren.
-
Können die Wirkung etablierter und neu entwickelter (interaktiver) Medien auf die Gesellschaft reflektieren und in der eigenen Entwicklung berücksichtigen.
-
Selbstlernen
-
Können wissenschaftlich Arbeiten und Schreiben.
-
Können sich selbstständig neue Wissens- und Kompetenzbereiche zu Methoden, Technologien oder Domänen erschließen.
In der linken Spalte sehen Sie, welche Kompetenzen für das Modul vorausgesetzt werden (hellgrauer Balken). In der rechten Spalte sehen Sie, welche Kompetenzen Sie mit dem Modul erwerben können (farbiger Balken). Die Kompetenzen sind in Handlungsfelder und Bereiche gegliedert.
Wenn Sie auf den grauen oder farbigen Balken klicken, gelangen Sie zu einer Liste von Modulen, die auf diese Kompetenz einzahlen. Hier finden die eine Übersicht über alle Kompetenzen und die Module, die auf diese einzahlen.