Course

VMA - Programming distributed and mobile applications


PDF Course Catalog Deutsche Version: VMA

Version: 1 | Last Change: 02.08.2019 08:53 | Draft: 0 | Status: vom verantwortlichen Dozent freigegeben

Long name Programming distributed and mobile applications
Approving CModule VMA_BaET, VMA_BaTIN
Responsible
Prof. Dr. Cartsten Vogt
Professor Fakultät IME
Level Bachelor
Semester in the year summer semester
Duration Semester
Hours in self-study 60
ECTS 5
Professors
Prof. Dr. Cartsten Vogt
Professor Fakultät IME
Requirements object-oriented programming (ideally Java)
structure and functions of operating systems
programming with concurrency / threading and with sockets
communication protocols for data networks
relational databases
Language German, English if necessary
Separate final exam Yes
Literature
Aufgrund des sehr dynamischen Fachgebiets können Literaturangaben immer nur jeweils unmittelbar zu Veranstaltungsbeginn gemacht werden. Aktuell: http://developer.android.com; Künneth, Android 8 - Das Praxisbuch für Entwickler, Rheinwerk 2018
Final exam
Details
Written exam:
Students shall prove that they can 1.) explain and apply fundamental terms, 2.) apply programming concepts to solve application problems in the field of mobile device programming and 3.) assess the correctness of statements and program code. Typical types of assignments are 1.) multiple choice questions, fill-in-the-blank texts, assessment of statements, 2.) write program code to solve given problems of limited size and 3.) finding errors in texts and program code.
Minimum standard
At least 50% of the total number of points.
Exam Type
Written exam:
Students shall prove that they can 1.) explain and apply fundamental terms, 2.) apply programming concepts to solve application problems in the field of mobile device programming and 3.) assess the correctness of statements and program code. Typical types of assignments are 1.) multiple choice questions, fill-in-the-blank texts, assessment of statements, 2.) write program code to solve given problems of limited size and 3.) finding errors in texts and program code.

Learning goals

Knowledge
fundamental terms and techniques
characteristic properties of mobile devices
overview of current mobile operating systems and programming platforms
steps of mobile device programming (code development, emulation, and installation)
Mobile device programming with one or multiple current systems (Remark: This main part of the course will be continuously adapted to the current state of the art and the market. This document therefore lists only the main topics that will probably be covered.)
components of a mobile application
graphical user interfaces
data storage
concurrency
data communication, esp. Internet access
location-based services
security
assessing the risks in the programming and usage of mobile devices

Skills
using programming environments for mobile devices
programming smartphone applications of medium complexity
Expenditure classroom teaching
Type Attendance (h/Wk.)
Lecture 2
Exercises (whole course) 1
Exercises (shared course) 1
Tutorial (voluntary) 0
Special literature
keine/none
Special requirements
object-oriented programming (ideally Java), structure and functions of operating systems, programming with concurrency / threading and with sockets, communication protocols for data networks, relational databases
Accompanying material
lecture foils (electronic)
exercises (electronic)
example program code and projects (electronic)
links to relevant Web pages (esp. API documentation, programming examples, and free software development tools)
Separate exam
none

Learning goals

Knowledge
Smartphone programming on a selected system - details see "Vorlesung/Übung"

Skills
using programming environments for smartphones

implementation of smartphone applications of medium complexity in small teams
Expenditure classroom teaching
Type Attendance (h/Wk.)
Practical training 1
Tutorial (voluntary) 0
Special literature
keine/none
Special requirements
object-oriented programming (ideally Java), programming with concurrency / threading and with sockets, communication protocols for data networks, relational databases
Accompanying material
lecture foils (electronic)
example programs and projects (electronic)
links to relevant Web pages (esp. API documentation, programming examples, and free software development tools)
Separate exam
Exam Type
working on practical scenarion (e.g. in a lab)
Details
Students work in small teams. Each team completes multiple "rounds" with assigned appointments in the lab. In each round, programming assigments are solved.
For the preparation of a laboratory appointment a "preparation sheet" has to be solved. The acquired knowledge will be tested at the beginning of the appointment (short written entrance test, interview with the supervisor). In case of failure, a follow-up appointment must be taken; in case of multiple failures, the student will be excluded from the lab. In case of success, a "laboratory work sheet" with further tasks will be worked on under supervision (and, if necessary, with assistance).
Minimum standard
Successful participation in all laboratory appointments, i.e. in particular independent solution (or with some assistance if necessary) of the programming assignments.

© 2022 Technische Hochschule Köln