IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Mobile App Development, MSc 
Kursusnavn (engelsk):Mobile App Development, MSc 
Semester:Forår 2018 
Udbydes, softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Min. antal deltagere:
Forventet antal deltagere:
Maks. antal deltagere:60 
Formelle forudsætninger:You should be comfortable with programming in Java and have programming experience at least at the level of the “Programming workshop” course at ITU.

Furthermore, you should have some experience with programming tools such as Git (version control) and graphical programming environments. 
Læringsmål:After the course, the student should be able to:

- design a user-friendly, safe and efficient app
- implement a non-trivial Android app
- describe and analyze the architecture and work flow of an Android app
- design and implement Android user interfaces using activities, views and scrollable lists
- design and implement responsive, multi-threaded Android apps with asynchronous tasks and services
- design and implement a location aware app
- design and implement an app using the built-in sensors and camera
- design and implement an app that communicates with remote services
- design and implement an app that interfaces with databases both on the device and offline
- plan and execute the deployment of an Android app using Android studio 
Fagligt indhold:This course gives a fundamental introduction to Java development of apps for the Android platform.

The following topics will be introduced:

- the four fundamental Android components (activities, services, content providers and broadcast receivers) and intents
- designing user interfaces using layouts and resources
- working with files and databases on a mobile device
- the Android life cycles and thread model
- using built-in camera, sensors and libraries/tasks e.g. calendar and contacts
- mobile/server communication including RESTful APIs and JSON
- Android libraries for creating location aware apps.

Furthermore, Androids threading model will be introduced and related to threading and concurrency in general. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

consisting of lectures and exercises

In most weeks, students will be asked to do some (usually small) exercise on their own.

Students must install the software used in the course on their own PC’s – details will be provided on LearnIT before the start of the semester.

Apps can be tested on standard Android phones (older versions ok). Instruction on how to install the necessary software is given in the first week of the course,

Extra challenges:
For students with extra interest, energy or background supplementary material and exercises on Kotlin will be offered. Kotlin is an extension to Android offering powerful programming constructs inspired by functional/reactive programming. This is not mandatory and will not be part of the mandatory reading (“pensum”) for the examination. 

Obligatoriske aktivititer:Activities:
2 mandatory programming projects are included in the course. These must be handed in and approved in order to take the exam.

Students will receive feedback on their solutions to mandatory assignments and whether they have passed the assignment.

Students who do not pass the mandatory programming projects will get a possibility to turn in revised solutions before the exams – details will be available in LearnIT.

Be aware: The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt 
Eksamensform og -beskrivelse:B22: Mundtlig eksamen uden forberedelsestid ved eksamen., (7-scale, external exam)

Oral exam with no time for preparation.

The duration of the oral exam is 30 minutes pr. student including evaluation and feedback.  

Litteratur udover forskningsartikler:Online resources primarily from

The course will cover a major part of the topics covered in this textbook (mandatory reading for the exam):
Bill Phillips, Chris Stewart, Brian Hardy and Kristin Marsicano: Android Programming: The Big Nerd Ranch Guide –– 3rd edition (2017, ISBN: 978-0134706054)

The extra challenges on Kotlin will be based on:
Antonio Leiva: Kotlin for Android Developers (2017 ISBN 978-1530075614)