ID2216 Developing Mobile Applications 7.5 credits

Utveckling av mobila tillämpningar

Level: Advanced

The course is an introductory course in technologies to create mobile applications and mobile services. The course will teach the student’s efficient methods and practice on how to create native (Android) and platform independent (Web) mobile applications, as well as techniques for developing web-based mobile services.

  • Education cycle

    Second cycle
  • Main field of study

    Information Technology
    Information and Communication Technology
  • Grading scale

    A, B, C, D, E, FX, F

Course offerings

Spring 19 for programme students

Autumn 18 for programme students

Intended learning outcomes

The goal of the course is to teach the basics in technologies to create mobile applications and mobile services. The course gives theoretical knowledge and practical skills in the technology area for service development for mobile and handheld units.

After completing the course, the student should be able to:

  • understand how to analysis basic user requirement in developing mobile applications and mobile services
  • develop simple mobile web-apps based on Javascript, HTML5 and CSS
  • develop mobile native apps using the Android programming framework
  • develop and deploy basic mobile web-services for information retrieval and interaction
  • understand how to mashup-up web-content for mobile applications and mobile services
  • understand the mobile ecosystems of service providers, terminal manufactures, and mobile network operator.

In order to:

  • having the knowledge to compare technologies used in application development
  • having the knowledge to use service layer support for security, billing, positioning and provisioning
  • have the ability to describe the structure of mobile networks
  • have the ability to explain limitations of mobile networks and terminal
  • be able to identify and explain the critical issues in application requirements
  • be able to choose appropriate technology given requirements of application
  • be able to implement mobile applications using appropriate tools.

Course main content

The purpose of the course is to provide general knowledge of how to create applications for mobile devices such as smart phones. The course concist of the following parts:

  • the mobile ecosystem
  • mobile Context and User-experience
  • mobile Information Architectures
  • native Android Apps
  • mobile Web Apps
  • mobile Mashups
  • mobile and Ubicomp Research Areas
  • business models and Apps stores.

The course deals hence with technologies like HTML5, CSS, Android, Javascript and SQL to design mobile apps and services.

We will build and test applications for real handheld devices like mobile smart phones but our applications can also run with no or small changes on more powerful devices like tablets, digital television sets, cameras, modern refrigerators, industrial computers and information-devices for cars.

The course addresses three main difficulties in creating applications that will work on a wide variety of different real-world devices: (i) integrate and streamline external services for new mobile apps and novel user experience, (ii) managing different properties between various devices, and (iii) understand how user requirements and new business models create successfully mobile apps and services.

There will be guest-lectures from the industry at the course. The course has also a industry mentor that will help the students with understand how development of mobile apps take place in industry.


Lectures, Labs and seminars. Half of the course consists of lectures and laboratory work in the above areas. Some areas are extensions of the above areas and are studied individually for students who want a higher grade. The second half consists of a project with seminars. The course is laboratory- and programming intensive.


For single course students:

  • Completed documented upper secondary education incl documented proficiency in English and university studies corresponding to 60 credits (hp)/2 years of study.
  • Academic studies corresponding to 180 ECTS (hp) in Information Rechnology/Computer Science/Computer and Systems Sciences.

Recommended prerequisites

Basic knowledge in Java programming.

Some basic SQL knowledge to query a database, is good for general orientation, but not necessary to follow the course.

Recommended course is for example ID1006 "Java programming", 7,5 hp.


  • Mobile Design and Development: Practical Concepts and Techniques for Creating Mobile Sites and Web Apps, Brian Fling. Upplaga: 1 Förlag: O'Reilly Media Ar: 2009. ISBN: 0596155441. 
  • Reto Meier, Professional Android, 4th Edition, Wiley, ISBN: 978-1-118-94952-8.


  • ANN1 - Assignment, 3.0, grading scale: A, B, C, D, E, FX, F
  • TEN1 - Examination, 4.5, grading scale: A, B, C, D, E, FX, F

Final grade is based on the performance of the written exam and the practical assignments.

If the student is close to pass the exam (assessed by the examinator), the student gets the opportunity to pass the exam by doing a complement assignment. This assignment can only give the grade E, and not higher. The assignment must be sent in according to given deadline and can only be used to raise the grade to E on the current exam.

Requirements for final grade

The examination consists of a written examination and practical assignments. To pass the course it is necessary that both the written examination and the assignments are passed.
Assignments should be done and presented when scheduled.

Offered by



Konrad Tollmar,, 08-790 4303


Konrad Tollmar <>

Supplementary information

The course is evaluated and developed in accordance with KTH policy for Course Analysis (see KTH Handbook 2, Tab 14.1)


Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.