Allgemeine Informationen zur Lehrveranstaltung "Programming Applications for Mobile Interaction" (5807V und 5807UE)

Vorlesungstyp: Pflichtveranstaltung
Abhaltung im Sommersemester
Veranstaltungsnummer: Vorlesung: 5807V und Übung: 5807UE
Wochenstunden: 5 (3 SWS Vorlesung, 2 SWS Übung, 0 Praktikum)
ECTS-Credits: 7,0
Vorlesung 1: Mo., 14:00 - 16:00, Zoom
Vorlesung 2: Mi., 08:00 - 09:00 , Zoom
Übung: Mo., 16:00 - 17:00, Zoom
Erwartete Teilnehmerzahl: ca. 8
Beginn der Vorlesung: 12.04.2021
Beginn der Übung: 14.07.2021

Angaben zur Abhaltung

Inhalt: Im Rahmen der Lehrveranstaltung wird eine dem Umfang der Lehrveranstaltung angepasste mobile Anwendung (ggf. mit zugehörigem Backend-System) realitätsnah entwickelt mittels der Problemstellung angemessener Methoden und Werkzeuge im Team bearbeitet unter Anwendung geeigneter Vorgehensweisen zur Projekt- und Arbeitsorganisation. Insbesondere werden Vorgehensweisen aus den Bereichen Mensch-Maschine Interaktion (Prototyping, Entwicklung, Durchführung und Auswertung von Benutzerstudien, Human-Centered Software Engineering, Feldtests, Fokusgruppen), verteilte Systeme (Architekturentwurf verteilter Anwendungen, Verteilung von Funktionalität, Protokollentwurf), und Software Engineering (Agile Entwicklungsprozesse) eingesetzt. Das Vorgehen deckt sich soweit möglich mit bestehender Praxis aus Industrie und Forschung. Teams von in der Regel 2-3 Studierenden bearbeiten in der Übung gemeinsam und systematisch ein kleineres Projekt, das in mehrere Arbeitspakete strukturiert ist. Die genaue Aufgabenstellung wird zu Beginn der Lehrveranstaltung schriftlich in Form einer Zielvorgabe mit minimalen Eigenschaften als Bestehenskriterien vorgegeben. Bei der Bearbeitung des vorlesungsbegleitenden Projekts werden folgende Engineering-Aktivitäten für die 1.) Infrastrukturkomponenten bzw. für die 2.) mobile Anwendung abgedeckt:
1. Analyse 1.) Detaillierte Festlegung der Anforderungen an das System. Beachtung der Grundprinzipien Präzision, Vollständigkeit und Konsistenz. Der Inhalt umfasst das Systemmodell als Übersicht, die geeignete Beschreibung der Systemumgebung mittels geeigneter Werkzeuge, sowie die Erfassung und Dokumentation funktionaler und nicht-funktionaler Anforderungen.
  2.) Für die Mobile Anwendung sind, zusätzlich zu den genannten Aufgaben, Prototyping-Methoden einzusetzen (z.B. Wizard-of-Oz) bzw. Studien zur Identifikation der Nutzergruppen (z.B. Interviews) durchzuführen.
   
2. Entwurf 1.) Hauptbestandteil ist ein systematischer Grobentwurf eines Systems, das die in der Analyse ermittelten Anforderungen bestmöglich erfüllt. Auf dieser Basis wird ein detaillierter Entwurf ausgearbeitet, der mit der Problemstellung angemessenen, domänenspezifischen Werkzeugen und Vorgehensweisen das umzusetzende System spezifiziert und dokumentiert.
  2.) Die mobile Anwendung ist, im Gegensatz zum Hauptsystem, mittels Prototyping-Methoden agil und iterativ zu entwerfen und zu validieren. Dazu sind z.B. Methoden zur Erstellung horizontaler bzw. vertikaler High-Level/Low-Level Prototypen aus dem Bereich der Mensch-Maschine-Interaktion einzusetzen.
   
3. Umsetzung 1.) Im Rahmen der Umsetzung erfolgt die tatsächliche Realisierung des entworfenen Systems. Das System besteht in der Regel aus Software- und Hardware-Komponenten. Zur Realisierung sind bestehende, konfigurierbare Softwarebausteine mit eigener Software zu ergänzen und zu einem lauffähigen Gesamtsystem zu integrieren. Hierzu werden Methoden aus dem Bereich der verteilten Systeme, z.B. Architekturentwurf, oder der vernetzten Systeme, z.B. Socket-Programmierung, verwendet.
  2.) Die Umsetzung der Mobilen Anwendung wird durch spezielle Frameworks und Entwicklungssysteme aus dem Bereich mobiler Anwendungen unterstützt.
   
4. Validierung 1.) Validierung und Verifikation der Ergebnisse von Entwurf und Umsetzung auf Grundlage der durch Analyse bestimmten Anforderungen.
  2.) Die mobile Anwendung ist durch geeignete Methoden aus dem Bereich der Mensch-Maschine-Interaktion zu evaluieren und die Ergebnisse sind kritisch zu diskutieren. Hierzu können z.B. Beobachtung, Fragebögen, Effizienz- und Fehlermessungen bei der Interaktion eingesetzt werden.
   
  Jedes Arbeitspaket kann eine oder mehrere dieser Aktivitäten umfassen und jede Aktivität kann Gegenstand eines oder mehrerer Arbeitspakete sein. Dabei müssen alle Aktivitäten durch Arbeitspakete adäquat abgedeckt sein. In den einzelnen Arbeitspaketen kommen projekt‐ und domänenspezifische Werkzeuge und Methoden zum Einsatz z.B. zum Test von Client/Server-Systemen, Schnittstellenbeschreibungssprachen, Service Description Languages. Zu allen Arbeitspaketen werden Arbeitseinheiten definiert, deren Aufwand abgeschätzt und deren Realisierung z.B. anhand einer Gantt-Chart organisiert und durchgeführt. Das Ergebnis jedes Arbeitspakets wird durch einen kurzen Bericht dokumentiert, ggf. begleitet von Software. Aus dem Bericht sind auch Aufwandsabweichungen und Korrekturen vorangegangener Arbeitspakete ersichtlich. Jedes Arbeitspaket schließt mit einem Kurzvortrag in der nächsten Einheit ab. Die Teams werden durch ein festes wöchentliches Treffen mit dem Betreuer unterstützt. Die Lehrveranstaltung schließt mit einem Abschlusskolloquium ab, in dem das fertig entwickelte System präsentiert und abgenommen wird.
Inhaltliche Voraussetzungen (erwartete Kenntnisse): keine
Empfohlene Voraussetzungen (erwartete Kenntnisse): Programmierung in Java, Mensch-Maschine-Interaktion, zusätzlich ggf. Verteilte Systeme
Ziel (erwartete Lernergebnisse und erworbene Kompetenzen):  
Kenntnisse: Die Studierenden lernen die Realisierung von umfangreichen Engineering-Projekten aus dem Kontext Mobiler Anwendungen und Systeme und die dazu notwendigen Vorgehensweisen, Methoden und Werkzeuge kennen. Theoretische Kenntnisse vom Entwurf verteilter Systeme, der Entwicklung mobiler Anwendungen und Rechnernetze werden praktisch angewendet und durch die Systementwicklung eines komplexeren Gesamtsystems vertieft.
Fähigkeiten: Die Studierenden beherrschen die praktischen Fragestellungen der Entwicklung und Umsetzung von Systemen bestehend aus mobilen Endgeräten und zentralen bzw. de-zentralen Infrastrukturen sowie den maßgeblichen Einfluss der Mensch-Maschine-Interaktion mit dem Gesamtsystem. Die Studierenden können in einem kleinen Team effektive Lösungen erarbeiten und durchführen und erfolgreich ein vorlesungsbegleitendes Projekt im Team realisieren.
Kompetenzen: Die Teilnehmer erlernen soziale Kompetenz durch die Teamarbeit und die notwendigen organisatorischen und fachlichen Kompetenzen zur Durchführung von Projekten aus dem Kontext der mobilen Anwendungsentwicklung erfolgreich zu bearbeiten.
Unterrichts-/Lehrsprachen: Deutsch
Lehr- und Lernmethode (Vermittlung der Kompetenzen) : Als Lernmethode wird zusätzlich zu den individuellen Methoden des Studierenden eine vertiefende Wissensbildung durch mehrmaliges prototypisches Implementieren von Anwendungen in den Übungen angestrebt.
Als Lehrmethode wird in der Vorlesung Frontalunterricht gehalten und, wo möglich, Gruppenarbeit in Form von Diskussionen zur Vertiefung eingesetzt. In den Übungen werden praktische Beispiele durch die Studenten implementiert bzw. diskutiert.

Folgende Medienformen finden Verwendung:
  • Präsentationen (Vortrag) mit Folien
  • zusätzliche Unterlagen wie technische Dokumentationen und wissenschaftliche Arbeiten
Abhaltungstermine: siehe StudIP
Teilnahmekriterien & Anmeldung: Bitte beachten Sie die Ankündungen zur Prüfungsanmeldung. Diese werden i.d.R. 4-6 Wochen nach Semesterbeginn veröffentlich. Bei Fragen zu allen Themen um die Prüfungsanmeldung wenden Sie sich bitte ausschließlich an das Studiensekretariat.

Angaben zur Prüfung

Beurteilungsschema (Bewertungsmethode, Prüfungsmodus): Schriftliche Dokumentation in Form eines technischen Berichts, mündliche Präsentationen zu den Arbeitspaketen die durch geeignete Medien (z.B. Folien) unterstützt werden, dokumentierter und funktionsfähiger Quelltext inkl. aller zur Demonstration notwendigen Informationen, sowie einer Systemdemonstration im Rahmen des Abschlusskolloquiums.
Prüfungstermine & Anmeldung: wird bekanntgegeben.
Anzahl der Prüfungstermine im Semester: 1

Sonstige Bestimmungen

Anwesenheitspflicht: Für die Kolloquien im Rahmen des Praktikums besteht Anwesenheitspflicht.
  Begründung:
  Im Praktikum arbeiten die Teams von Studierenden an einem größeren Projekt über das ganze Semester hindurch. Es zu jedem Arbeitspaket ein Kolloquium statt, in denen über die Fortschritte berichtet, aufgetretene Probleme ausgetauscht und ihre Lösungen diskutiert werden; am Ende findet ein Abschlusskolloquium statt. Wird keine umfassende Anwesenheit bei den Kolloquien gefordert, wird die Kompetenz nicht geübt, vor anderen Studierenden zu präsentieren und auf ihre Fragen und Anmerkungen (und nicht nur die des Dozenten) einzugehen und diese zu diskutieren. Die Kompetenz, die präsentierten Inhalte zu analysieren, bewerten und kritisch zu diskutieren ist eine wesentliche Anwendung der Lehrveranstaltungsinhalte die nur bei Präsenz eingeübt werden kann. Die vereinzelte Abwesenheit aus nicht vom Studierenden zu vertretenden und nachgewiesenen Gründen ist möglich.
  Darüber hinaus kann die spezifische Aufgabenstellung besondere Ausstattung erfordern, die nur in den Laboren und Räumen der Universität in geeigneter Weise zur Verfügung steht. Ferner ist ggf. eine direkte Betreuung und Unterweisung an speziellen Geräten notwendig. Daher ist bei spezifischen Aufgabenstellung eine Bearbeitung außerhalb dieses Kontextes nicht möglich und die Anwesenheit dann zwingende Voraussetzung für die erfolgreiche Bearbeitung. Andernfalls ist die erfolgreiche Teilnahme an der Lehrveranstaltung gefährdet.

Weitere Informationen

StudIP: https://studip.uni-passau.de/studip/dispatch.php/course/overview?cid=e621e98bda9e69858e6b8b6912211a77
Wiki: -
Moodle: -
Empfohlene Fachliteratur: Wird vom Dozent / von der Dozentin bekannt gegeben.
  Die Literatur wird in Abhängigkeit der konkreten Aufgabenstellung ausgewählt und bekanntgegeben.