Mobile and Pervasive Computing


This course provides the basic knowledge on the characteristics of mobile and pervasive computing, models and techniques used in the development of applications that allows the studentds to:

Knowledge and understand:

  • characteristics of mobile and pervasive computing its architectures, models and techniques for programming this systems
  • basic knowledge on mobile networks and location techniques, and analise  specific problems and solutions for mobile applications
  • problems and techniques for sensing systems


  • design and implement ubiquitous mobile systems
  • implement and evalute solutions to address mobility specific issues of  mobility


General characterization





Responsible teacher

Carmen Pires Morgado, Nuno Manuel Ribeiro Preguiça


Weekly - 4

Total - 56

Teaching language



As prerequisites students should have previous acquaintance with programming and distributed systems.


The syllabus contents are presented throughout the semester through a set of slides that highlight the main concepts, as well as a set of articles updated annually, which translate the state of the art in the different domains, including the latest solutions and technologies.

Some bibliography:

  • Fundamentals of Wireless Sensor Networks: Theory and Practice (Wireless Communications and Mobile Computing), Waltenegus Dargie, Christian Poellabauer, 2010.
  • Computer Networks: A Top-Down Approach, J. Kurose, K. Ross, Addison-Wesley, 6th edition, 2013. 

Teaching method

A theoretical component with weekly classes focusing on introducing and discussing the course subjects.

A practical component with some classes reserved to present some of the tecnologies needed to the project, and finally the implementation of the integrated project that is partially realized in the laboratory classes, which aims to consolidate the acquired knowledge.

Evaluation method

The assessment has two components, one theoretical (with a weight of 2/3 in the final grade) and a practical (with a weight of 1/3).

The theoretical evaluation consists of two individual tests or an examination.

The laboratory evaluation consists of a programming project in a group of students.

To obtain frequency it is necessary to have a grade greater than or equal to 9.5 in the 20 values scale, in the practical component.

Subject matter

  1. Introduction, examples, and challenges.
  2. Introduction to pervasive computing
    1. Devices
    2. Models for pervasive computing
  3. Pervasive Sensing
    1. Sensor networks
    2. IoT systems
    3. Participatory sensing
  4. Mobile Computing Specific Issues
    1. Interfaces
    2. Data management
    3. Context-awareness
  5. Programming mobile systems
    1. Models and architectures
    2. Native frameworks
    3. Web-based solutions
  6. Wireless networks
    1. Wireless networks
    2. Mobility
  7. Mobile Computing Specific Issues
    1. Interfaces
    2. Data management
    3. Context-awareness


Programs where the course is taught: