Official course description:

Full info last published 15/11-23
Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price for EU/EEA citizens (Single Subject):
10625 DKK
MSc. Master
MSc in Software Design
Course manager
Associate Professor
Part-time Lecturer
Course semester
Forår 2024
29 January 2024
23 August 2024
Exam type
ekstern censur
Grade Scale
Exam Language
This course gives an introduction to Java development of apps for the Android platform, and an overview of concepts for handling concurrency on mobile devices.

Modern computing happens increasingly on mobile devices, principally tablets and mobile phones. Developing applications for mobile devices brings a different set of challenges than does developing for a traditional desktop or server environment, because everything is constrained: there is a limited amount of battery, screen real-estate, computational power, and storage to go around. Mobile devices for that reason have programming models and operating systems that are different from their desktop cousins. The vast majority of commercially available devices today run Android or iOS; understanding the programming model of either is an important step towards programming mobile devices in general.
This course teaches the basics of Android development for mobile devices.
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.

Formal prerequisites

You should be comfortable with programming in Java and have programming experience at least at the level of the Introductory Programming (15 ECTS course) course at ITU.

The course is the first part of a specialisation on MSc in Software Design.
Intended learning outcomes

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
Learning activities

Lectures and exercises. Every week students will be asked to:

  • do some reading
  • prepare questions to be discussed in class, and
  • complete assignments (Android apps) on their own.

In some weeks students may orally present/explain parts of their assignment (similarly to what they will do at the exam).

Students must install the software used in the course on their own PCs, details will be provided on LearnIT before the start of the semester.

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

Mandatory activities

The pedagogical function of the mandatory activities is to provide the students with assignments where they practice the given ILOs.

Activities: Students must hand in solutions to weekly assignments (in most of the 14 weeks of the semester). These will be graded (approved/not approved).

Feedback: Students will receive feedback on their solutions to the weekly assignments including the grading (approved/not approved).

All students must have at least "X" approved assignments in order to take the exam. The exact number (X) will be announced at the start of the semester.

If the students fail to hand in or get a “not-approved” they will receive a second attempt 4 weeks before the exam.

Be aware: The student will receive the grade NA (not approved) at the ordinary exam if they do not have "X" approved assignments and the student will use an exam attempt.

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.

Course literature

The course literature is published in the course page in LearnIT.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 40%
  • Lectures: 20%
  • Assignments: 25%
  • Exam with preparation: 10%
  • Other: 5%
Ordinary exam
Exam type:
B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
Exam duration per student for the oral exam:
30 minutes

Exam type:
B: Oral exam, External (7-point scale)
Exam variation:
B22: Oral exam with no time for preparation.
Exam duration per student for the oral exam:
30 minutes

Time and date
Ordinary Exam Wed, 12 June 2024, 09:00 - 21:00
Ordinary Exam Thu, 13 June 2024, 09:00 - 21:00
Ordinary Exam Fri, 14 June 2024, 09:00 - 21:00
Reexam Mon, 19 Aug 2024, 09:00 - 17:00