Skip to main content

ID2216 Developing Mobile Applications 7.5 credits

Course memo Spring 2021-1

Version 1 – 01/11/2021, 12:22:56 PM

Course offering

Spring 2021-1 (Start date 18/01/2021, English)

Language Of Instruction

English

Offered By

EECS/Computer Science

Course memo Spring 2021-1

Course presentation

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.

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  


Schema VT-2021-648

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.

(Section below is not part of the 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.

Further information

No information inserted

Communication With Teachers

Course Coordinator

Teacher

Examiner

Round Facts

Offered By

EECS/Computer Science

Language Of Instruction

English

Course offering

Spring 2021-1 (Start date 18/01/2021, English)

Contacts

Communication With Teachers

Anders Västberg, vastberg@kth.se

Course Coordinator

Teacher

Examiner