Past Courses

Article Index


Identity card

Title: Ambient intelligence: technology and design
Credits: 6 credits
Year: 3rd year (elective courses - corsi a scelta)
Semester 2nd semester (march-june)
Language: English
Official link: Portale della Didattica
Main teacher: Fulvio Corno
Other teachers: Dario Bonino, Luigi De Russis

Class hours

Day Hour Location Type
Monday 16:00-17:30 Room 4D
or LADISPE lab
or Lab work
Monday 17:30-19:00 Room 4D
or LADISPE lab
or Lab work
Thursday 16:00-17:30 Room 3I Class
Thursday 17:30-19:00 Room 3I Class

See the Log section for detailed information.
On the Monday afternoons, the LADISPE is always available for AmI students.


See also the Materials page

Course Contents

The course aims at describing, from an experimental point of view, the field of Ambient Intelligence (AmI), outlining its multi-disciplinary nature as well as its technology and application areas. Nowadays, the evolution of consumer electronic technologies, wireless networks, sensors, etc. and the ability to represent and process knowledge and data on a large scale allow the conception of environments able to handle, in an optimal way, energy-related variables, comfort, safety, and user interaction. Such scenarios spur a variety of solutions, ranging from smart homes to smart buildings, from smart cities to smart transportation systems.
Special emphasis, on the course, will be devoted to design-related aspects and on the overall hardware-software architecture, besides reviewing the involved technologies. This will enable students to design and realize reusable and interoperable solutions, and to collaboratively build a working prototype of an AmI system, in the laboratory.
The course will be held in English and will include some seminars given by industry experts.

Learning Outcomes


Knowledge: technologies involved in the design and realization of smart environments, at various architectural levels (sensors, home automation networks, wireless sensor networks, user interfaces). Programming distributed systems based on web APIs. Software design methodologies.


Skills: writing system specifications and high-level design of an Ambient Intelligence system, starting from its functional and behavioral requirements. Realization of real-world intelligent environments. Capability of working in group with modern Internet-based collaboration tools. The Python language for rapid prototyping.



Knowledge of programming languages, such as C or Java.
General knowledge of computer networks or communication networks.
The course has a strong interdisciplinary nature. The topics are mainly suitable for students enrolled in different degrees in the ICT sector (computer science, electronics, telecommunications), but in the work groups there will be a significant contribution from disciplines more oriented to AmI applications: electric, energy, design, mechanics, etc.



The course aims at tackling, from a system and multidisciplinary approach, the main enabling technologies and the design methodologies involved in the definition of a complex system such as the ones present in AmI.


The course will cover the following topics, including their theoretical, methodological and practical aspects:

  1. Introduction to Ambient Intelligence: definitions and available approaches for smart homes, smart buildings, etc. Overview of application areas (home, building, city, traffic, etc.) and types of applications (monitoring, comfort, anomaly detection, ambient assisted living, control and automation, etc.)
  2. Requirements and design methodology for AmI. Design, analysis and specification of requirements and functionalities related to user interacting with AmI settings.
  3. Taxonomy of Ambient Intelligent systems and state of the art industrial systems. Seminars with industry experts.
  4. Practical programming of AmI systems: the Python language, the Raspberry Pi computer, Web protocols (http and REST) and languages, web-based APIs and collaboration tools (git, github).


The course is strongly oriented to laboratory activities. Class lectures are mostly aimed at giving the background needed to develop the group work in the laboratory.

During laboratory hours (at LADISPE): students will work for programming simple intelligent scenarios and user interfaces with real home automation systems. Hands-on and insights about some topics discussed in class.
Additional hours will be devoted to assisted group work in the laboratory.

Some class exercises will focus on functional and architectural analysis and design, analysis of user interaction, and design and technology/component selection.