- Einführung in die Programmierung:
Es werden die wesentlichen Grundlagen der prozeduralen Programmierung mit dem Ziel gelehrt, dass die Studierenden in die Lage versetzt werden, einfache Programme selbständig zu erstellen und diese fachlich korrekt zu dokumentieren. Als Programmiersprache dient dabei Java. Die wesentlichen Inhalte des Moduls sind weiters Hilfsmittel des Programmentwurfs, Struktur und Ablauf von Programmen, elementare Datentypen, Variablen, Ausdrücke, Programmkonstrukte, Prozeduren und Funktionen, Rekursion, einfache Standardalgorithmen, dynamische Datenstrukturen sowie der Umgang mit Dateien.
- Betriebssyteme/Rechnerarchitektur:
In diesem Modul werden die Grundlagen der Rechnerarchitektur sowie Aufbau und Arbeitsweise von modernen Computersystemen gelehrt. Die Inhalte dieses Moduls sind hauptsächlich Rechnerarchitektur, CPU-Architektur, Cache- und MemorySysteme, I/O-Systeme und Schnittstellen, Bussysteme, Betriebssystemarchitektur, Filesystemstrukturen, Ressourcenmanagement und Client/Server Architekturen. Klassische Betriebssysteme wie Unix und Windows werden eingehend behandelt.
- Objektorientierte Programmierung:
Es werden die Grundlagen der objektorientierten Programmierung dargestellt und durch praktische Übungen, die möglichst konkreten Problemstellungen im Bereich Mobile Computing entsprechen, vertieft und anhand moderner Programmiersprachen und Programmierumgebungen angewandt. Dabei werden die wichtigsten formalen und praktischen Grundlagen der Informatik, wie die gezielte Auswahl und Bewertung von Objektmodellen, Entwurf und Spezifikation von Algorithmen, Einsatz von Design Pattern gelehrt. Besonderer Wert wird auf Programmieren mit beschränkten Ressourcen (z.B.: PDAs, Telefone, Smartphones, Java Micro Edition) gelegt.
- Verteilte Informationssysteme:
Es werden grundlegende Kenntnisse über die Konzepte und Herausforderungen verteilter Informationssysteme mit dem Ziel vermittelt, dass es den Studierenden möglich ist, komplexe mehrschichtige und verteilte Systeme (Client/Server, Browser, Webserver, Anwendungsserver, Datenbank) zu konzipieren und zu realisieren. Neben den notwendigen theoretischen Grundlagen „Verteilter Systeme“ ist die Vermittlung grundlegender praktischer Kenntnisse über die Client/Server-Kommunikation mittels Sockets und den Einsatz von Threads unter Berücksichtigung entsprechender Synchronisationsmechanismen Inhalt des Moduls. Zusätzlich wird der Einsatz von Middleware am Beispiel von Java RMI veranschaulicht. Ein weiterer Teilaspekt des Moduls ist die Vermittlung von Grundlagen im Bereich Hypermedia. Hier spielen vor allem die Struktur und die dynamischen Abläufe im Web wie das HTTP-Protokoll, die HTML Programmierung, unterschiedliche Medientypen im Web und interaktive Web-Seiten eine wichtige Rolle.
- Wahlfach 1:
Es werden grundlegende Kenntnisse in der Programmierung mobiler Endgeräte vermittelt, wobei der Fokus nicht nur auf den entsprechenden Betriebssystemen – hier Windows Mobile und Android – selbst liegt, sondern auch die noch nicht bekannten Programmiersprachen wie C#/.Net bzw. Java ME vertieft werden. Es stehen die 2 Module „Java ME / Android“ bzw. „C# / Windows Mobile“ zur Auswahl.
Java ME / Android:

Basierend auf den Java-Grundkenntnissen wird in dieser LVA das nötige Wissen für die mobile Programmierung vermittelt. Anhand der weit verbreiteten Java Platform, Micro Edition wird auf die Struktur von mobilen Anwendungen eingegangen, sowie auf die Entwicklung von User Interfaces. Hierbei muss spezieller Wert auf die begrenzten Möglichkeiten und die effiziente Programmierung gelegt werden. Als zweites Themengebiet werden die Grundlagen von Android vermittelt, der auf Linux basierten mobilen Plattform von Google. Mithilfe der umfangreichen und neu entwickelten Java-API erhalten Programme Zugriff auf vielfältige Telefon-Funktionalitäten (Kontakte, Kalender, Google Maps, Location Based Services, Libraries wie SQLite und WebKit).
C# / Windows Mobile:
Es werden die Grundlagen der Programmiersprache C# inklusive dem zugehörigen .Net Compact Framework gelehrt. Analog zu den bisher erworbenen Programmierkenntnissen werden die Eigenschaften und die Unterschiede bzw. Ähnlichkeiten zu bisher Erlerntem erläutert. Zum leichteren Verständnis werden die Inhalte mit praxisrelevanten und projektnahen Beispielen auf der Windows Mobile Plattform unterstützt.
- Wahlfach 2:
In diesem Modul soll die Kompetenz in der Softwareentwicklung mit C++ erworben werden. In Kombination mit verschiedenen wählbaren mobilen Betriebssystemen sollen die theoretischen Grundlagen vertieft werden. Es stehen die 2 Module „C++ / Symbian OS“ und „C++ / Windows Mobile Embedded“ zur Auswahl.C++ / Symbian OS:
Symbian OS


ist mit einem Smartphone-Marktanteil von über 90% in EMEA (H1 2007) das wichtigste mobile Betriebssystem. In diesem Modul werden die für die Entwicklung benötigten Grundkenntnisse in C++ vermittelt (Sprachaufbau, Konzept der Pointer, Mehrfachvererbung, Libraries, DLLs). Darauf aufbauend werden spezifische Konzepte eines mobilen Betriebssystems behandelt. Ein wichtiger Aspekt davon ist beispielsweise die sichere Handhabung von Speicher (Cleanup Stack, Two-phase Construction) sowie die effiziente, event-basierte Programmierung mit Active Objects und dem Client-Server Modell. Für die Darstellung auf mobilen Endgeräten ist ein Wissen über die UI-Architekturen von fundamentaler Bedeutung. Der Lehrplan dieses Moduls ist soweit möglich mit dem Curriculum des offiziellen Accredited Symbian Developer-Examens abgestimmt, dient also teilweise zur Vorbereitung. Die Abnahme des Examens wird im Rahmen des Kurses angeboten.
C++ /Windows Mobile Embedded:


Die Studierenden erhalten in dieser Lehrveranstaltung Kenntnisse über die Windows Mobile Programmierung mit praktischen Lehrinhalten in C++ unter Verwendung der Win32-API, von MFC und DirectX. Hier werden folgende praxisrelevante und projektnahe Themenkreise behandelt: Einführung in Windows Mobile Embedded, IDE und Tool-chains, Applikationsentwicklung, GUI Programmierung (statisches GUI mit dem GUI-Designer, dynamische GUI-Programmierung mit Win32-GUIs, MFC-GUIs), Ressourcen, File I/O, Pocket Outlook Object Model, Kommunikation (Serial Port, Sockets, Bluetooth, Threading), Mobile Image Processing, DirectX Mobile und weitere aktuell relevante Themen.
- Wahlfach 3:
In diesem Modul sollen die Strudierenden einführendes und vertiefendes Fachwissen in einer der typischen und wachstumsorientierten Anwendungsdomänen Logistik, Business und Multimedia erhalten. Mit Hilfe des vermittelten grundlegenden Überblicks können die Kernaspekte, Einsatzbereiche und Anwendungsmöglichkeiten von Mobile Computing Technologien in der jeweiligen Domäne identifiziert und projekttechnisch umgesetzt werden. Zur Auswahl stehen die Module „Mobile Business“, „Logistics“ bzw. „Mobile Multimedia“.Mobile Business:Ausgehend von konkreten Themenschwerpunkten und Anforderungs-Szenarien im Gebiet
Mobile Business wird in diesem Modul die komplette Abwicklungskette von der Spezifikation der Problemstellung bis hin zur Entwicklung der Lösung abgedeckt. Dies schließt Grundlagenwissen über die involvierten Geschäftsprozesse, die benötigten Technologien (Blackberry-Services, Field Force Management-Lösungen, mCommerce: RFID, NFC, mobile Payment) sowie die tatsächliche Umsetzung mit ein.

Logistics:
Die Rolle der IT – „Enabler“ für Supply Chain Prozesse, Supply Chain Event Management (SCEM), Collaborative Planning, Forecasting and Replenishment (CPFR), Efficient Consumer Response (ECR), automatische Identifikation (Barcode, RFID) in der Supply Chain, Enterprise Application Integration (EAI) Tools, Warehouse Management Systeme (WMS) bilden die Inhalte dieses Moduls.
Mobile Multimedia:
Basierend auf unterschiedlichen Technologien (iPhone, Flash Lite, SVG, Python) sollen verschiedene Konzepte erarbeitet werden, welche durch die Nutzung von Medien einen Mehrwert schaffen. Dadurch können Synergien aus Video, Animationen, 3D-Grafik, Sounds, Location und der Kamera geschaffen werden. Anwendungsszenarien schließen eine verbesserte Benutzer-Interaktion beispielsweise durch Gestensteuerung oder Multi-Touch ein. Weitere Möglichkeit zur Interaktion bzw. der Bereitstellung neuer Services ist die optische Texterkennung (OCR) oder die Integration von Beschleunigungssensoren bzw. Lichtsensoren in die Darstellung der Anwendungen

- Wahlfach 4:
Auf Grund ihrer wirtschaftlichen Relevanz und ihrem Innovationsgrad versetzen die Lehrinhalte des Moduls die Studierenden – mit dem nötigen Rüstzeug – in die Lage, kreative und innovative Projekte in den Bereichen Sport, Gesundheit und Spiel zu realisieren. Es stehen die Module „Mobile Sports“, „Mobile Health“ und „Mobile Games“ zur Auswahl.
Mobile Sports:
Ein Kernbereich sind Systeme, mit denen die genaue Position eines Sportlers auf dem Sportplatz oder im Gelände sowie sämtliche Bewegungen des Sportlers bzw. Sportgerätes von Sensoren (z. B. GPS, Galileo) detailliert aufgezeichnet, gesammelt und in Echtzeit an einen Arzt oder Trainer gesendet werden (z. B. mit UMTS/GPRS oder auch Shortrange-Technologien wie ZigBee), die diese Informationen auswerten und in Echtzeit Feedback an den Sportler geben kann. Darüber hinaus können damit auch Zuseher mit diesen Daten versorgt werden und so beispielsweise mit ihrem Mobiltelefon den Rennverlauf einer Segelregatta verfolgen. Die Lehrinhalte setzen sich aus Architektur, Planung und Umsetzung derartiger Systeme zusammen, was sowohl den Serverbereich (Sammeln und Auswerten der Sensordaten) als auch den Clientbereich (Sensoren, Mobiltelefone), sowie die Übertragung der Daten (UMTS/GPRS, ZigBee) umfasst.
Mobile Health:
Inhalte dieses Moduls sind Grundlagen der Biosignalanalyse (Myogramme etc.), EEG, Elektrokardiographie, Messung des Blutdrucks, Messung des Blutflusses, Messung des Herzzeitvolumens, Pulsoximetrie, Funktionale Elektrostimulation (FES) sowie Sensoren.
Mobile Games:
Mit einem großen Anteil an praktischen Übungen werden den Studierenden folgende Inhalte vermittelt:
Der Mobile Games Markt, Spieledesign, Architekturmuster von mobilen Spielen, performante Spieleprogrammierung, Mathematik für Spiele, Graphikprogrammierung von 2D- und 3D-Spielen, KI-Algorithmen, Location Based Games, Mobile Multiplayer Games und MMORPGs.