Skip to main content

ID2012 Ubiquitous Computing 7.5 credits

Ubiquitous computing (Ubicomp) integrates computation into the environment, rather than having computers as distinct objects. Promoters of this idea hope that embedding computation into the environment will enable people to move around and interact with computers more naturally than they currently do. The idea was first introduced by Xerox, Mark Weiser (1991) as “The computer for the 21st century”. Some other close and overlapping terms for ubiquitous computing are pervasive, calm, disappearing, post-desktop and embodied computing. The course has the main focus on technical, design and implementation aspects of Ubicomp.

Choose semester and course offering

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

Headings with content from the Course syllabus ID2012 (Spring 2019–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Introduction to the field of ubiquitous computing including objectives of the field, core technologies, applications and implications for society. Core technologies are innovative materials, design of new computational artifacts, sensor technology, middleware for fine grained distributed systems, context aware systems, theory of complex systems, artificial intelligence techniques for coordination of behaviour (multi agent systems) and new forms of interaction. A specialization in middleware for ubiquitous computing with a bias on support for collaborative applications, context aware functionalities and tangible interfaces.

Intended learning outcomes

On successful completion of this course the student has knowledge and understanding regarding:      

  • the objectives and the historical development of the field of ubiquitous computing
  • development in new materials
  • fundamentals of sensor technology and sensor networks
  • design of new (often embedded) interactive artefacts
  • contextaware and adaptive systems
  • middleware for fine-grained distributed systems
  • analysis and coordination of complex systems
  • new styles of interaction, e.g. tangible interfaces
  • most important applications in the field
  • general implications of the field. 

Skills and capacities, to be able to: 

  • apply middleware techniques to implement ubiquitous computing systems
  • design and implement coordination schemes for systems with many software and hardware components
  • design and implement simple context aware applications, using standard sensor technology
  • design and implement interfaces suitable for ubiquitous computing in particular tangible interfaces. 

Values and attitudes, to be able to:

  • compare the usability of alternative design of interactions for specific ubiquitous computing systems
  • compare the adequacy of alternative coordination strategies for specific ubiquitous computing systems
  • judge the user acceptance and relevance of specific designs for adaptive and context aware systems
  • compare the adequacy of alternative middleware techniques for particular ubiquitous computing systems. 

Course disposition

The course has two parts, a theoretical part covered by a series of lectures and a lab part covered by a few basic lectures, guest lectures and some instructive sessions. The lab part consists of a smaller lab with the purpose to acquire basic skills and a more extensive integrated lab. The labs are performed in groups.

Literature and preparations

Specific prerequisites

Basic courses in mathematics, computer science, human computer interaction, artificial intelligence and programming of distributed systems.

Recommended prerequisites

No information inserted


No information inserted




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


  • INLA - Assignment, 1.5 credits, grading scale: P, F
  • LABA - Laboratory Work, 3.0 credits, grading scale: A, B, C, D, E, FX, F
  • SEM1 - Seminar, 3.0 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.

Assessment on the course consists of three assignments. To pass the whole course requires pass on all three.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


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 ID2012

Offered by

Main field of study

Computer Science and Engineering

Education cycle

Second cycle

Add-on studies

No information inserted


Fredrik Kilander,, +4687904082

Supplementary information

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