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 and platform independent (Web) mobile applications, as well as techniques for developing web-based mobile services.
Course memo Spring 2021
Course presentation

Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version 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.
Learning activities
The course consists of lectures, seminars, and laboratory exercises under supervision. The lectures present an overview of methods, theory, and best practices. Though the lectures give context and an introduction to mobile application development, many details of the course must be learned from other sources: course literature, web sites, videos, other books, and articles. The laboratory exercises consist of introduction exercises of design problems and programming of mobile applications. Seminars consist of presenting and discussing design decisions in groups.
Attendance at seminars is mandatory.
Detailed plan
Learning activities | Date and Time | Content | Preparations |
---|---|---|---|
Lecture 0 | Mon. 18/1, 10-12 | Introduction to Developing Mobile Applications | |
Lecture 1 | Wed. 20/1, 13-15 | Mobile User Experience | |
Lab 1 | Fri. 22/1, 13-15 | Project brainstorm and Ideation / MSL Projects | |
Lecture 2 | Mon. 25/1, 13-15 | Mobile Web Applications | |
Lab 2 | Wed. 27/1, 13-15 | HTML5, JS, and Mobile Web Applications | |
Seminar 1 | Fri. 29/1, 13-15 | Seminar 1 – Pitches | |
Lecture 3 | Mon. 1/2, 10-12 | Native Mobile Applications | |
Lab 3 | Wed. 3/2, 13-15 | Android SDK | |
Lecture 4 | Wed. 10/2, 13-15 | Android API | |
Lab 4 | Fri. 12/2, 13-15 | Android UI | |
Lecture 5 | Wed. 17/2, 13-15 | Research overview and guest lectures | |
Lab 5 | Fri. 19/2, 13-15 | Extra supervision | |
Lecture 6 | Wed. 24/2, 13-15 | Internet of Things | |
Lab 6 | Fri. 26/2, 13-15 | Connectivity and Wearables | |
Lecture 7 | Mon. 1/3, 10-12 | Mobile Ecosystem | |
Seminar 2 | Wed. 3/3, 8-12 | Presentation of Project | |
Home Exam | Thur. 11/3: 14:00 | 24 h home exam |
Preparations before course start
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.
Literature
Mobile Design and Development, Brian Fling, O'Reilly Media, August 2009
Professional Android, 4th Edition, Reto Meier and Ian Lake, Wrox, 2018
Additional litterature and articles for each lecture
Support for students with disabilities
Students at KTH with a permanent disability can get support during studies from Funka:
Funka - compensatory support for students with disabilities
Please inform the course coordinator if you need compensatory support during the course. Present a certificate from Funka.
Examination and completion
Grading scale
A, B, C, D, E, FX, F
Examination
- ANN1 - Assignment, 3.0 credits, Grading scale: A, B, C, D, E, FX, F
- TEN1 - Examination, 4.5 credits, Grading scale: 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.
The section below is not retrieved from the course syllabus:
Assignment ( ANN1 )
This part consists of five assignments and two compulsory seminars:
A1: Project Proposal
S1: Project Pitch
A2: Web application prototype
A3: Native Prototype
A4: Integrated Prototype
A5: Project Report
S2: Project Presentation
Assignments with due-dates are published in the Canvas course room.
Examination ( TEN1 )
Take-home exam with 24 hours to hand in the final paper.
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.
Grading criteria/assessment criteria
Learning Outcomes | Course Component | Grading | Assignment |
Develop simple mobile web-apps based on Javascript, HTML5, and CSS |
ANN1 TEN1 |
Pass/Pass with distinction | A2/A5 |
develop mobile native apps using the Android programming framework |
ANN1 TEN1 |
Pass/Pass with distinction | A3/A5 |
develop and deploy basic mobile web-services for information retrieval and interaction |
ANN1 TEN1 |
Pass/Pass with distinction | A4/A5 |
understand how to analyze basic user requirement in developing mobile applications and mobile services |
ANN1 TEN1 |
Pass/Pass with distinction | A1/A5 |
understand how to mashup-up web-content for mobile applications and mobile services |
TEN1 |
Pass/Pass with distinction | |
understand the mobile ecosystems of service providers, terminal manufactures, and mobile network operator. | TEN1 | Pass/Pass with distinction |
The exam is divided into the six learning outcomes. The relation between learning outcomes and assignments are included in the above table.
Course Component |
E | D | C | B | A |
ANN1 | All Pass | At least one Pass with distinction | At least two with Pass with distinction | All but one with Pass with distinction | All with Pass with distinction |
TEN1 | All Pass | At least one Pass with distinction | At least three with Pass with distinction | All but one with Pass with distinction | All with Pass with distinction |
The course grade is a weighted average rounded normally.
Opportunity to complete the requirements via supplementary examination
Failed learning outcomes can, by the decision of the examiner, be passed by an oral examination.
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.
The section below is not retrieved from the course syllabus:
Also, see the school of EECS code of conduct: https://www.kth.se/en/eecs/utbildning/hederskodex/inledning-1.17237
Further information
No information inserted
Contacts
Communication during course
Anders Västberg, vastberg@kth.se
Course Coordinator
Teachers
Examiner
Round Facts
Start date
Missing mandatory information
Course offering
- Spring 2021-60767
Language Of Instruction
English
Offered By
Contacts
Communication during course
Anders Västberg, vastberg@kth.se