Past Courses

Article Index

Official website of the course "Ambient intelligence: technology and design" (code 01PRDxx) offered to students in the 3rd year of Engineering (among elective courses).

Warning: This page contains the archived version for the 2013/2014 edition of the course. The latest version of the course is available at:

Latest news

  • 2014-11-21: All video lectures have been published on YouTube in the Ambient Intelligence Playlist
  • 2014-09-30: The best students works from the 2014 edition of the course have been showcased publicly during an event co-organized with the I3P incubator. See the news article with all information and available material.
  • 2014-07-22: Published the information (date, place, deadlines, etc.) for the exam of September.
  • 2014-06-18: Published the exam rules and deadlines in the corresponding section.
  • 2014-05-27: A new Lab date has been scheduled (to replace the one we skipped on May 26). New date: Thursday, May 29, hrs 14:30-16:00 (Supervised group work)
  • 2014-05-26: We prepared a machine running Dog, publicly accessible (via the Internet) from outside the Politecnico, for your experiments. Please, look at the teaching portal for further information (e.g., web address, port, etc.) 
  • 2014-05-15: While the projects are taking shape, and in preparation for the showcase that we agreed to organize in Semptember, Dario has put together a nice web page with all project abstracts and links to your public project pages at
    You may share the link to that page if you want to show what you are developing. If you want to make some correction to the abstracts, file an issue at
  • 2014-05-08: On Thursday 15 May 2014, the course lesson will be dedicated to project review and consultancy. Each group will be allowed a minimum slot of 10 minutes for discussing issues / doubts about her final project. Longer slots might be allocated depending on group participation. Groups participating to the course may book project consultancy by opening an issue on the project-review repository, reporting the group name and a brief description of required consultancy. Issues for booking project consultancies should be tagged using the help wanted label (see an example).
  • 2014-05-05: Added the requirements and architecture evaluation (to be discussed in the lab). 
  • 2014-04-15: Added the summary evaluations discussed on Monday (see the Material section) 
  • 2014-04-08: Added sample project web site for the final evaluation
  • 2014-04-07: The Exam rules have been published, please check the corresponding section for the forecoming deadlines (April, 11th is the first).
  • 2014-04-01: the DENER department and the Collegio di Ingegneria Elettrica are organizing two seminars (sorry, in Italian) that are surely interesting for the students of AmI. We invite you to join these events:
  • 2014-03-31: The list of the assigned projects has been updated (see the "Materials" section). A group is still without a project: please, contact the teachers as soon as possible!
    Notice also that, on GitHub, each group has two (private) repositories:
    • one for experimenting with Git and GitHub (named git-experiment-X, where X is a number);
    • the other (named as the group) for the "real" team work and for hosting the website in the GitHub Pages format.
  • 2014-03-28: Assignment of projects to groups will be completed on Monday 31, in the Lab.
  • 2014-03-18: Some quick reminders: We will discuss together the most interesting ideas on March, 27 in class. You will NOT be evaluated upon the ideas proposed on the ideascale website. Ideas can be preliminary, complete, difficult, simple, ... please, consider this as a brainstorming phase.
    We have time, during all the course, to refine good ideas, to improve ideas that are not-so-good, etc. so that all of you can realize a good final project.
  • 2014-03-06: If someone has "trouble" with PyDev (i.e., it is installed, but not visible in Eclipse), check the installed version of Java: PyDev needs Java 7 (JDK) to properly work. See here for further details:
  • 2014-02-19: Information exchange and discussions about the topics are encouraged on the Facebook group linked to the course
  • 2014-02-20: Please notice, in the 'Information' section, that the classrooms have changed. We welcome you for the first class on Monday, March 3rd, at 16:00 in Room 4D.
  • 2013-08-07: Welcome to the 1st edition of the course (2013/2014). For any question, information, request, curiosity, etc. please feel free to contact me at This email address is being protected from spambots. You need JavaScript enabled to view it.

Basic info


The following companies or organizations are supporting the equipment used in the course labs.


Telecom Italia



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 Class (only some weeks)
Thursday 16:00-17:30 Room 3I Class
Thursday 17:30-19:00 Room 3I Class



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.





This section will host learning material: slides, documents, links, videos, etc. used during the course. All slides, examples, exercises, and any other material used in the classroom will be posted here.




Readings and papers





The exam consists of a presentation of the team project, designed and developed during the course, and an oral discussion on the same topic.

Each group is required to:

  • put and mantain the source code related to its project in the assigned Git repository (;
  • create, and properly update, a GitHub Pages website associated to the project repository, by following the instructions available at (see the "Project site" section).

The project website MUST contain:

  • the two required deliverables (see below), according to the following (strict!) deadlines;
  • a video of the project, realized following this guide; the video may be shown during the exam, if needed (see the video in the example website, too).

Important dates and deliverables:

  • 11/04 creation of the project website (via GitHub Pages) and deadline for the first deliverable (i.e., complete summary, vision and goal - see the set of slides "AmI Design Process");
  • 14/04 check of the first deliverable with the students (in LADISPE);
  • 03/05 deadline for the second deliverable (i.e., analysis and system design - see the set of slides "AmI Design Process") to be published on the project website;
  • 05/05 check of the second deliverable with the students (in LADISPE);
  • 09/06 check of the projects to be presented during the exam.

Exam rules

(extracted from the set of slides "Labs and teamwork")

The team project (repository and website) must be ready for evaluation three working days before the exam.

The exam will consist of three parts:

  • oral presentation (max 15 minutes, by using PowerPoint slides or similar)
  • demonstration or a video if the project cannot be demonstrated (5 minutes)
  • discussion (5 minutes)

Contributions by each person should emerge in the entire project presentation (e.g., by dividing the oral presentation in parts).

Next exams with deadlines:

  • 02/09/2014, h. 9:00, LADISPE
    • remember to enroll at the exam, by 29/08/2014, on the Portale della Didattica;
    • project must be ready for evaluation on GitHub on 28/08/2014 by noon;
    • (optional) specify which materials you need to be available at the exam (if any), via mail at the teachers, by the 28/08/2014;
    • (optional) to avoid last minute problems, you may want to try the presentation and the demo on 01/09/2014 from 14:30 to 17:00, at the LADISPE.


  • Sample web site showing an effective video presentation and project summary, developed by two students of the Princeton University.


This section will host the log of all the lectures, with the topics described in each of them. Please consider that the following information is a tentatitive preview of the course organization, is provided only for helping students organization and planning, and is subject to change without notice.

Type legend: L = Lecture, EA = Exercises in classroom, EL = Exercises in laboratory (LADISPE)

All lectures will be video-recorded (screencasting) and will be published immediately after the class. Lectures are also available on this YouTube playlist.

Date Time Type Topic Video Teacher
03/03/2014 16:00-17:30 L Course introduction. Main definitions (AmI, SmE). Application areas YouTube video Fulvio Corno
06/03/2014 16:00-17:30 L Definition and characteristics of Intelligent Ambient:  features, architectures. YouTube video Fulvio Corno
06/03/2014 17:30-19:00 EA Rapid prototyping. The Python language and development environment. YouTube video Dario Bonino
10/03/2014 16:00-17:30 EL Visit to LADISPE laboratory. Forming work groups. Homework assignment.   Dario Bonino, Luigi De Russis
10/03/2014 17:30-19:00 EA Hardware Fundamentals (recap) YouTube video Dario Bonino
13/03/2014 16:00-17:30 L Design methodology for intelligent ambients (part 1). YouTube video Fulvio Corno
13/03/2014 17:30-19:00 EA Rapid prototyping. Python. YouTube video Luigi De Russis
17/03/2014 16:00-17:30 EL Lab: Python   Luigi De Russis
17/03/2014 17:30-19:00 EA Version Control with Git YouTube video Luigi De Russis
20/03/2014 16:00-17:30 L Design methodology for intelligent ambients (part 2) YouTube video Fulvio Corno
20/03/2014 17:30-19:00 EA Rapid prototyping: interfacing Python. YouTube video Dario Bonino
24/03/2014 16:00-17:30 EL Lab: Python and hardware   Dario Bonino
27/03/2014 16:00-17:30 L Web technologies and architectures, http, REST YouTube video Fulvio Corno
27/03/2014 17:30-19:00 EA Work groups: identification of AmI features and assignment to groups   Dario Bonino, Luigi De Russis
31/03/2014 16:00-17:30 EL Supervised group work   Luigi De Russis
03/04/2014 16:00-17:30 L The Dog 3.x gateway and the Dog REST API YouTube video Fulvio Corno
03/04/2014 17:30-19:00 EA Python programming: web server YouTube video Dario Bonino
07/04/2014 16:00-17:30 EL Supervised group work   Dario Bonino
10/04/2014 16:00-17:30 EA Interaction with smart home devices: the Hue case YouTube video Dario Bonino
10/04/2014 17:30-19:00 EA Interaction with smart home devices: the Z-Wave case YouTube video Dario Bonino
14/04/2014 16:00-17:30 EL Supervised group work   Luigi De Russis
17/04/2014 16:00-17:30 EA Interaction with smart home devices through the Dog gateway YouTube video Dario Bonino
17/04/2014 17:30-19:00 EA Interacting with the Pebble YouTube video Luigi De Russis
      (Easter vacations)    
28/04/2014 16:00-17:30 EL Lab: Python + hardware   Dario Bonino
05/05/2014 16:00-17:30 EL Supervised group work   Luigi De Russis
08/05/2014 16:00-17:30 L Ambient Intelligence systems: a taxonomy (part 1)   Fulvio Corno
08/05/2014 17:30-19:00 L Ambient Intelligence systems: a taxonomy (part 2)   Fulvio Corno
12/05/2014 16:00-17:30 EL Supervised group work   Dario Bonino
15/05/2014 16:00-17:30 EA Project review   Luigi De Russis
15/05/2014 17:30-19:00 EA Project review   Luigi De Russis
19/05/2014 16:00-17:30 EL Supervised group work   Luigi De Russis
22/05/2014 16:00-17:30 L Seminar by BTicino   Fulvio Corno
22/05/2014 17:30-19:00 L Ambient Intelligence systems: a taxonomy (part 3)   Fulvio Corno
26/05/2014     (Suspension of academic activities)    
26/05/2014 14:30-16:00 EL Supervised group work   Dario Bonino
29/05/2014 16:00-17:30 L Home and Building Automation systems (part 1)   Fulvio Corno
29/05/2014 17:30-19:00 L Home and Building Automation systems (part 2)   Fulvio Corno
05/06/2014 16:00-17:30 L Seminar by Energy@Home (Telecom Italia)   Fulvio Corno
09/06/2014 16:00-17:30 EL Supervised group work   Luigi De Russis, Dario Bonino
12/06/2014 16:00-17:30 L Examples of application domains   Fulvio Corno