Programmierung verteilter und mobiler Anwendungen (VMA) Modulbezeichnung / Kürzel Programmierung verteilter und mobiler Stand: 1.2.2011 Anwendungen (VMA) Fachsemester 6. Semester Modulverantwortliche(r) Prof. Dr. Carsten Vogt Sprache Deutsch Lehrformen / SWS Seminaristischer Unterricht mit Praktikum: V2, Ü1, P1 Kreditpunkte 5 ECTS-Punkte Arbeitsaufwand 60 h Präsenz 90 h Selbststudium Voraussetzungen IN1, IN2: Sichere Programmierkenntnisse in Java, insbesondere graphische Benutzeroberflächen. BVS1, BVS2: Programmierung nebenläufiger Anwendungen, insbesondere Java-Threading und Sockets. Möglichst Erfahrung mit Eclipse. Lernziele/Kompetenzen • Die Studierenden kennen Möglichkeiten zur Programmierung mobiler Systeme („Smartphones“). • Insbesondere können sie Techniken des Android-Systems und der Java Micro Edition (Java ME) anwenden, um Anwendungsprogramme (lokal und verteilt arbeitend) zu realisieren. Inhalt Einführung in die Programmierung von Smartphones am Beispiel von Android und Java ME: • Software für Smartphones: Ein Überblick - Betriebssysteme: Symbian, Android OS, iPhone OS - Programmierung: Architektur und grundlegende Konzepte von Java ME (MIDlet-Suites) und Android (Activities, Services) • Graphische Benutzeroberflächen in Java ME und Android • Datenhaltung in Java ME (Dateisystem, Record Store) und Android (Dateisystem, Datenbank SQLite, Content Provider) • Nebenläufigkeit in Android: Intents, Services, AIDL, Threads • Netzkommunikation in Java ME und Android, insbesondere Internet-Zugriff • Ortsabhängige Dienste in Java ME und Android (nur wenn Zeit) Studien-/Prüfungsleistungen Regelmäßige Bearbeitung von Praktikumsaufgaben mit Vorführung Mündliche Prüfung Voraussetzung: bestandenes Praktikum Medienformen Vorgefertigte Folien, in der Vorlesung entwickeltes Tafelbild, Beamerpräsentation mit Computerdemonstration, Beispielprogramme, Webseite (www.nt.fh-koeln.de/vogt/vma.html) Literatur Schmatz, Java Micro Edition, dpunkt Java ME Technology APIs & Docs, http://java.sun.com/javame/reference/apis.jsp Becker / Pant, Android, dpunkt Rogers / Lombardo, Android Application Development, O’Reilly Android Developers, http://developer.android.com