Skip to content

Freie Universität Bozen

Mobile and Physical Systems

Semester 1 · 76262 · Bachelor in Informatik · 12KP · EN · DE


- Funktionale und deklarative Programmierung
- Design von mobilen Anwendungen
- Frameworks und Plattformen für die mobile Entwicklung
- Daten- und Ressourcenmanagement in einem mobilen Kontext
- Sensoren für mobile Geräte
- Internet der Dinge

- Motivation & Kurzer Überblick über Prototyping (mit ProtoPie)
- Sensor-Grundlagen (mit Arduino/ESP32)
- Entwicklung einer 3D-Umgebung (mit Unity)
- Entwurf & Skizze eines Controllers der nächsten Generation
- Präsentation des Prototyps
- Evaluierung des Prototyps

Lehrende: Michael Haller, Niccolò Pretto

Vorlesungsstunden: 60
Laboratoriumsstunden: 60
Anwesenheitpflicht: Die Teilnahme ist nicht verpflichtend, wird aber dringend empfohlen, da viele Labs eine angemessene Soft- und Hardware-Infrastruktur erfordern; nicht teilnehmende Studierende können sich zu Beginn des Kurses an den Dozenten wenden, um Unterstützung bei den Modalitäten des Selbststudiums zu erhalten.

Themen der Lehrveranstaltung
In Engineering of Mobile Systems lernen die Studierenden die Schlüsselkonzepte der Entwicklung mobiler Anwendungen und des Internets der Dinge kennen. Praktische Erfahrungen werden durch den Einsatz modernster Technologien für die Entwicklung mobiler Anwendungen gesammelt. Nach Abschluss des Kurses haben die Studierenden Fachkenntnisse in der Erstellung mobiler Anwendungen erworben, die fortschrittliche mobile APIs nutzen und sich mit externen Webdiensten verbinden, und sind sich der verschiedenen Kompromisse bei der Entwicklung mobiler Anwendungen bewusst. Im Physical Computing Project werden die Designer durch den Bau einer Idee dazu aufgefordert, "zu bauen, um zu denken" und so tiefere Einblicke zu gewinnen. Dieser Kurs geht über das frühe physikalische Prototyping hinaus und zeigt, wie man intelligente Sensorgeräte implementiert, die zur Steuerung einer interaktiven Umgebung (z. B. eines Spiels) verwendet werden können. Die Teilnehmer lernen die Grundlagen der Elektronik, der Mikrocontroller-Programmierung und des physikalischen Prototypings mit der Arduino/ESP32-Plattform kennen und verwenden dann digitale und analoge Sensoren, die zu einem Controller der nächsten Generation führen, z. B. in Kombination mit Unity. So erhalten die Studierenden ein tiefes Verständnis für Sensortechnologien sowie einen umfassenden Überblick über die Entwicklung und Implementierung einer 3D-Umgebung.

Unterrichtsform
Der Kurs umfasst Frontalvorlesungen, Laborübungen und Projekte.

Bildungsziele
Wissen und Verstehen - D1.15 Kenntnisse und Methoden des Softwaredesigns und der Softwareentwicklung im mobilen Umfeld - D1.17 Kenntnis der wichtigsten Methoden für den Entwurf interaktiver intelligenter Objekte für das IoT Anwendung von Wissen und Verständnis - D2.2 In der Lage sein, kleine und mittelgroße Programme unter Verwendung verschiedener Programmiersprachen und Paradigmen zu entwickeln. - D2.3 In der Lage sein, Probleme mit Hilfe von Programmiermethoden zu lösen. - D2.14 In der Lage sein, mobile Anwendungen zu entwickeln. - D2.19 In der Lage sein, das eigene Wissen in verschiedenen Arbeitskontexten anzuwenden. - D2.20 In der Lage sein, innovative Technologien und Methoden auszuwählen und anzuwenden, die für einen bestimmten Kontext und ein bestimmtes Problem geeignet sind. - D2.23 In der Lage sein, kleine Projektteams zu koordinieren und mit den Mitgliedern der Gruppe zu interagieren. - D2.25 In der Lage sein, interaktive Designprinzipien und -muster für IoT-Lösungen und intelligente Objekte anzuwenden. Fähigkeit zur Urteilsbildung - D3.1 In der Lage sein, nützliche Daten zu sammeln und zu interpretieren sowie Informationssysteme und deren Anwendbarkeit zu beurteilen. - D3.2 In der Lage sein, entsprechend dem eigenen Wissensstand und Verständnis selbstständig zu arbeiten. - D3.3 In der Lage sein, die Verantwortung für die Entwicklung von Projekten oder IT-Beratung zu übernehmen. Kommunikative Fähigkeiten - D4.1 Beherrschung einer der drei Sprachen Englisch, Italienisch und Deutsch sowie angemessene Verwendung von Fachbegriffen und Kommunikation. - D4.2 Sie müssen in der Lage sein, moderne Kommunikationssysteme zu nutzen, auch aus der Ferne. - D4.4 Technische Unterlagen strukturieren und verfassen können. - D4.5 In der Lage sein, bei der Realisierung von IT-Systemen in Teams zu arbeiten. Lernfähigkeiten - D5.1 Lernfähigkeiten entwickelt haben, um weitere Studien mit einem hohen Maß an Selbstständigkeit zu betreiben. - D5.2 Lernfähigkeiten erworben haben, die es ermöglichen, Projektaktivitäten in Unternehmen, öffentlichen Einrichtungen oder in verteilten Entwicklungsgemeinschaften durchzuführen. - D5.3 Sie sind in der Lage, der raschen technologischen Entwicklung zu folgen und sich mit modernsten IT-Technologien und innovativen Aspekten von Informationssystemen der letzten Generation vertraut zu machen.

Bildungsziele und erwartete Lernergebnisse (zus. Informationen)
-

Art der Prüfung
Die Bewertung basiert auf einer Abschlussprüfung, die die in beiden Modulen behandelten Themen abdeckt und aus zwei Teilen besteht. Teil 1 umfasst das Modul Engineering of Mobile Systems (50% der Abschlussprüfung) und basiert auf einer mündlichen Prüfung und einer Projektarbeit, in der die Studierenden eine mobile Anwendung zur Lösung eines praktischen Problems entwerfen und entwickeln. Das Projekt wird in einem vom Dozenten zur Verfügung gestellten Git-Repository eingereicht, in einem Bericht beschrieben und in der mündlichen Prüfung vorgestellt. Im Falle einer positiven Note wird das Projekt für alle 3 regulären Prüfungssitzungen angerechnet. Die Projekte müssen mindestens eine Woche vor der Prüfung eingereicht werden, andernfalls kann der Student nicht an der mündlichen Prüfung teilnehmen. Teil 2 (50% der Abschlussprüfung) umfasst das Modul Physical Computing Project. Die Hauptaktivität des Kurses konzentriert sich auf ein Gruppenprojekt (in Zweiergruppen), aber es wird zu Beginn des Semesters auch individuelle Aufgaben geben. Das Ziel dieser Aufgaben ist es, sicherzustellen, dass jeder in der Klasse Erfahrung und Verständnis für den Entwurf und die Implementierung einer neuartigen Eingabesteuerung erlangt, ohne die die Erstellung eines interessanten und anspruchsvollen Projekts (Steuerung der nächsten Generation) schwierig sein wird.

Bewertungskriterien
Die Prüfung wird anhand der Korrektheit der Projekte, der Antworten, der Klarheit der Antworten, der Fähigkeit, Themen zusammenzufassen, zu bewerten und Zusammenhänge herzustellen, der Fähigkeit zum kritischen Denken, der Qualität der Argumentation und der Problemlösungsfähigkeit bewertet. Um die Prüfung zu bestehen, müssen die Studierenden in jedem Modul mindestens 18/30 Punkte erreichen. Die Note für jeden Teil trägt wie folgt zur Endnote bei: Teil 1 umfasst das Modul Engineering of Mobile Systems (50% der Abschlussprüfung). In diesem Teil werden 70% der Note durch die Projektarbeit und 30% durch die mündliche Prüfung bestimmt. Die Studenten müssen die Projektarbeit bestehen, um zur mündlichen Prüfung zugelassen zu werden. Die Projektarbeit wird danach bewertet, ob sie funktionierende Lösungen enthält und ob sie sich an gute Programmierpraktiken und -stile hält. Die mündliche Prüfung wird auf der Grundlage der Klarheit der Antworten und der Projektpräsentation, der Beherrschung der Terminologie des Kurses und der Fähigkeit, Probleme im Zusammenhang mit mobilen Anwendungen zu lösen oder theoretische Konzepte zusammenzufassen, bewertet. Teil 2 (50% der Abschlussprüfung) umfasst das Modul Physical Computing Project. Jede Schülergruppe erhält ein Physical-Computing-Kit mit einem Arduino/ESP32-kompatiblen Board und allem, was sie braucht, um zu lernen, wie man Sensoren und Aktoren verwendet und wie man sie mit Tools von Drittanbietern (z. B. Unity) kombiniert. Durch praktische Erfahrungen während der Unterrichtsstunden erwerben die Schüler grundlegende Fähigkeiten und lernen, eine Reihe typischer Schaltungen zu bauen, die mit Unity kommunizieren. Neben dem Erwerb grundlegender Fertigkeiten sind die Studierenden an einer semesterlangen Gruppenarbeit beteiligt, in der sie ein komplexes Projekt von Anfang bis Ende entwickeln. Die Studenten werden ermutigt, schnell zu einem funktionierenden Prototyp zu gelangen, an dem sie ihr Projekt durch Tests verfeinern können. Um diesen Teil zu bewerten, werden die Projekte am Ende des Semesters dem Rest der Klasse vorgestellt.

Pflichtliteratur

Vorlesungsslides und Labs. Materialien werden von den Dozenten bereitgestellt



Weiterführende Literatur

–      Dawn Griffiths and David Griffiths. Head First Android Development: A Learner's Guide to Building Android Apps with Kotlin. O'Reilly Media, Sebastopol, 3rd edition edition, December 2021. ISBN 978-1-4920-7652-0.

–      Bryan Sills, Brian Gardner, Kristin Marsicano, and Chris Stewart. Android Programming: The Big Nerd Ranch Guide. Addison-Wesley Professional, Atlanta, GA, 5th edition edition, July 2022. ISBN 978-0-13-764554-1.

Peter Marwedel. Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things. Springer, 4th edition edition, January 2021.



Weitere Informationen
Verwendete Software: - Android Studio (https://developer.android.com) - ProtoPie (https://www.protopie.io) - Unity (https://unity.com) - Arduino IDE (https://www.arduino.cc/en/software) - Es werden verschiedene Mikrocontroller und Mikroelektronik-Bausätze verwendet. Nur die Teilnehmer, die den Kurs besuchen, können diese während der Unterrichtszeit benutzen. Weitere Informationen finden Sie auf der Kursseite.


Als PDF herunterladen

Ziele für nachhaltige Entwicklung
Diese Lehrtätigkeit trägt zur Erreichung der folgenden Ziele für nachhaltige Entwicklung bei.

9

Modules

Semester 1 · 76262A · Bachelor in Informatik · 6KP · EN

Module A — Engineering of Mobile Systems

– Functional and declarative programming
– Design of mobile applications
– Frameworks and platforms for mobile development
– Data and resource management in a mobile context
– Mobile device sensors
– Internet of Things

Lehrende: Niccolò Pretto

Vorlesungsstunden: 30
Laboratoriumsstunden: 30

Themen der Lehrveranstaltung
In Engineering of Mobile Systems, students will learn the key concepts of mobile application development and the internet of things. Practical experience will be gained by using state of the art technologies for the development of mobile applications. Upon completion of the course, students shall have acquired expertise in writing mobile applications that leverage advanced mobile APIs and connect to outside web services, and shall be aware of the various trade-offs in the development of mobile applications.

Unterrichtsform
The course includes frontal lectures, lab exercises, and projects.

Pflichtliteratur

Lecture slides and lab materials provided by instructors



Weiterführende Literatur

–      Dawn Griffiths and David Griffiths. Head First Android Development: A Learner's Guide to Building Android Apps with Kotlin. O'Reilly Media, Sebastopol, 3rd edition edition, December 2021. ISBN 978-1-4920-7652-0.

–      Bryan Sills, Brian Gardner, Kristin Marsicano, and Chris Stewart. Android Programming: The Big Nerd Ranch Guide. Addison-Wesley Professional, Atlanta, GA, 5th edition edition, July 2022. ISBN 978-0-13-764554-1.



Semester 1 · 76262B · Bachelor in Informatik · 6KP · DE

Module B — Prototyping Physical Interactive Experiences

- Motivation & Kurzer Überblick über das Prototyping (mit ProtoPie)
- Grundlagen der Sensorik (mit Arduino/ESP32)
- Entwicklung einer 3D-Umgebung (mit Unity)
- Entwurf & Skizze eines Controllers der nächsten Generation
- Präsentation des Prototyps
- Evaluierung des Prototyps

Lehrende: Michael Haller

Vorlesungsstunden: 30
Laboratoriumsstunden: 30

Infoanfrage