Skip to main content

Before choosing course

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.

Choose semester and course offering

Choose semester and course offering to see information from the correct course syllabus and course offering.

* Retrieved from Course syllabus ID2216 (Spring 2019–)

Content and learning outcomes

Course contents

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.

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 Disposition

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.

Literature and preparations

Specific prerequisites

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.


No information inserted


  • 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.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

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


  • ANN1 - Assignment, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Examination, 4,5 hp, betygsskala: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

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.

Other 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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Anders Västberg

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web ID2216

Offered by

EECS/Computer Science

Main field of study

Computer Science and Engineering, Information and Communication Technology

Education cycle

Second cycle

Add-on studies

No information inserted

Supplementary information

In this course, the EECS code of honor applies, see: