General Informationen for the Course "Programming Applications for Mobile Interaction" (5807V and 5807UE)

Course Type: Mandatory course
Holding: in the summer term
Course Number: Lecture: 5807V and Tutorial: 5807UE
Hours per Week: 5 (3 Lecture, 2 Tutorial, 0 Laboratory)
ECTS-Credits: 7,0
Dates Lecture 1: Mon., 10:00 - 11:00, (ITZ) SR 001
Dates Lecture 2: Wed., 08:00 - 10:00 , (ITZ) SR 001
Dates Tutorial: Mon., 11:00 - 13:00, (ITZ) SR 001
Expected Number of Participants: ca. 40
Begin of the Lecture: 13.04.2015
Begin of the Tutorial: 13.04.2015

Course Description

Content: 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.
Previous knowledge required: none
Previous knowledge expected: Programmierung in Java, Mensch-Maschine-Interaktion, zusätzlich ggf. Verteilte Systeme
Objective (expected results of study and acquired competences):  
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.
Languages of instruction: German
Teaching and learning method (delivery of skills): 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
Scheduled dates: see StudIP
Course criteria & registration: Please refer to the official announcements of the university office (Studiensekretariat). They will be announced usually 4-6 weeks after the start of the term. Please direct all information requests directly and solely to the university office (Studiensekretariat).

Exam Information

Assessment (exam method and evaluation): 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.
Exam dates & registration: will be announced.
Number of exam dates per semester: 1

Miscellaneous provisions

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.

Further Information:

StudIP: https://studip.uni-passau.de/studip/seminar_main.php?auswahl=8b6060314e9eec8cd21724f6a9b59843
Wiki: -
Moodle: -
Recommended Reading: Wird vom Dozent/ Dozent / von der Dozentin bekannt gegeben gegeben.
  Die Literatur wird in Abhängigkeit der konkreten Aufgabenstellung ausgewählt und bekanntgegeben.