Programmierung verteilter und mobiler Anwendungen - VMA
(Prof. Dr. C. Vogt,
Bereich Informatik,
Institut Nachrichtentechnik,
Fakultät 07,
FH Köln)
Auch im Sommersemester 2012 wird wieder das Fach Programmierung verteilter und mobiler Anwendungen angeboten.
Es richtet sich vornehmlich an Studierende des Bachelor-Studiengangs Technische Informatik,
die es als Wahlpflichtmodul des 6. Semesters hören können.
Studierende anderer Fachrichtungen können teilnehmen, wenn sie die nötigen fachlichen
Voraussetzungen
haben und Plätze frei sind.
Inhalt
Einordnung, Ziele, Voraussetzungen
Die Lehrveranstaltung ist für den Bachelorstudiengang
Technische Informatik ein Wahlpflichtmodul
des sechsten Semesters. Sie besteht aus Vorlesung (2 SWS), Übung (1 SWS) und Praktikum (1 SWS)
und wird im Sommer 2012 durch eine mündliche Prüfung abgeschlossen.
Die Veranstaltung soll mit den wesentlichen Konzepten zur Programmierung von Mobiltelefonen ("Smartphones")
vertraut machen und, am Beispiel von
Android,
praktische Programmierkenntnisse vermitteln.
Vorausgesetzt werden
- die sichere Beherrschung der Programmiersprache Java (einschließlich graphische Benutzeroberflächen),
wie im Fach Praktische Informatik behandelt, und
- Kenntnisse in der Programmierung nebenläufiger Anwendungen, insbesondere Java-Threads und Sockets,
wie im Fach Betriebssysteme und Verteilte Systeme behandelt.
Praktische Erfahrungen mit Eclipse sowie Grundkenntnisse über Datennetze sind von Vorteil.
Zudem gilt die
Verriegelungsregelung der Bachelor-Studienordnung.
Termine
Im Sommersemester 2012 gilt der folgende Terminplan:
- Vorlesung und Übung (kombiniert): Mo., 8:45 - 11:15 Uhr, ZW-7-02
- Praktikumssprechstunde: Di., ab 8:30 Uhr, ZW-7-17
Bitte beachten Sie für aktuelle Änderungen
auch die Mitteilungen in der Vorlesung und/oder meine Aushänge.
Themenübersicht
- Einführung
Charakteristische Eigenschaften von Smartphones.
Hersteller, Betriebssysteme und Programmiersprachen.
Literaturhinweise.
- Software für Smartphones: Ein Überblick
Systemkomponenten: Programmierschnittstelle, Laufzeitsystem, Entwicklungsumgebung.
Betriebssysteme: Android OS, iOS, Symbian, Windows Phone 7.
Programmiersprachen und -schnittstellen: Java für Android, Java ME, Objective-C für iOS, C# für Windows Phone 7, C++ mit Qt.
- Android: Basistechniken
Werkzeuge, Struktur und Programmierung von Applikationen.
Activities, Services, Context.
- Android: Graphische Benutzeroberflächen
Programmmstruktur zur Oberflächenprogrammierung, Basiskomponenten.
Auswahlangebote, Benachrichtigungen und Dialoge.
Berührungen und Gesten.
Grafiken, Animationen und Multimedia.
Spezielle GUI-Elemente.
- Android: Datenhaltung
Daten- und Speicherorganisation, Dateisysteme, Datenbank SQLite, Content Provider, Shared Preferences.
- Android: Nebenläufigkeit
Komponenten von Android-Applikationen (Vertiefung), Intents, Services (lokal, remote) und AIDL, Nebenläufigkeit mit Tasks und Threads.
- Android: Netzkommunikation
Bluetooth, Internetzugriff (Basistechniken, Web Services), Telefonnetz
- Android: Sensoren und ortsabhängige Dienste
Arten von Sensoren und Zugriff darauf, Ortsbestimmung, Nutzung von Landkarten
- Android: Sicherheit und Datenschutz
Sicherheitsarchitektur, Sicherheitsprobleme, Datenschutz
Prüfungen
Es werden mündliche Prüfungen abgehalten.
Nähere Informationen zu Umfang und Inhalt der Prüfung werden in der Vorlesung gegeben.
Prof. Dr. Carsten Vogt, 14.5.2012