84401 - Context-Aware Systems

Academic Year 2021/2022

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

At the end of the course, the student is able to design, deploy and evaluate ubiquitous systems and mobile applications able to adapt their behaviors to the context characteristics and to the current location/activity of the user. At the end of the course, the student: -knows the fundamental concepts of context-aware computing, and the main techniques for the localization of users/devices and the human activity recognition; -knows the fundamental models of context-data representation and managing; - knows the main middleware and software architectures in order to deploy adaptive and ubiquitous applications and services

Course contents

The course addresses the design and deployment of ubiquitous and context-aware services and applications, made possible  by the pervasive diffusion on the market of devices able to sense the environment and to analyze the sensed data. The course program is structured in two main parts. The first part illustrates the definition of "context" and context-aware systems, focusing on the design and implementation of location-aware, activity-aware, emotion-aware and social-aware systems. Special focus will be given to the spatial data management, by illustrating the main technologies for indoor/outdoor positioning, mapping APIs,  geo-data storage and location intelligence.The second part will present the  lifecycle of context-aware systems, focusing on methods and technologies for context acquisition, context modeling and context reasoning. Business seminars will be scheduled during the last week of the course. In the following, we provide a brief summary of the course program:

Introduction and definition of context and context-awareness

Use case of context-aware systems

Location-aware systems

  • Location-based services
  • Positioning technologies
  • Mapping APIs
  • Spatial database
  • Location intelligence

Activity-aware systems

Emotion-aware systems and affective computing

Context-aware networking and SDN

Context-aware application components

Context acquisition via primary and secondary sensors

Context modeling (context graphs, context languages, web semantic approaches)

Context reasoning via learning-based or inference-based approaches


Slides are available on the course website:


Suggested readings:

  • Richard Ferraro, Murat Aktihanoglu, Location Aware Applications, Manning Editions
  • Stefan Posland, Ubiquitous Computing: Smart Devices, Environments And Interactions, Wiley Edition

Teaching methods

The teaching methods include frontal lectures and classroom exercises.

Assessment methods

The course considers two assessment methods: a student seminar (mandatory) and a group project (mandatory). The seminar is scheduled on the last week of the course calendar, and it consists in a 20-30 minutes presentation, illustrating a specific research topic related to the course program; sources of the seminar can be research papers or software tools. The project consists in the deployment of a software application providing features of context-awareness and mobility support. The project specification are provided by the lecturer or by the students. The final score is computed as the average of the scores of the seminar and of the project. 


Teaching tools

Teaching materials (slides, code examples) are made available to students through the Virtuale platform.

Links to further information


Office hours

See the website of Marco Di Felice


Quality education Sustainable cities

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.