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

Warning: This page contains the archived version for the 2015/2016 edition of the course. The latest version of the course is available at: http://bit.ly/polito-ami

Student Showcase 2016

161004 AI Banner

Latest news

  • 2017-02-27: Updated exam information.
  • 2016-05-30: Updated exam information: dates, deadlines, etc.
  • 2016-05-24: The feedback collected from industries during the project pitches have beenpublished as issues in the project respositories (on GitHub).
  • 2016-04-18: Updated and uploaded Deliverable 2 (D2) template, in the Exam section. The submission deadline for D2 had been extended to April 28, 2016.
  • 2016-03-18: Updated Deliverable 1 (D1) template, in the Exam section.
  • 2016-03-17: Add initial proposals evaluation, in the Exam section.
  • 2016-01-21: Welcome to the 2015/2016 edition of the course. The course has a Facebook group for open discussions and news.
  • 2016-01-20: The material of the 2014/2015 edition of the course has been archived:

Basic info

See the Information section.

Sponsors

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

 

 


Information

Identity card

 
Title: Ambient intelligence
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: Luigi De Russis, Teodoro Montanaro

Class hours

DayHourLocationType
Monday 16:00-17:30 Room 4D
or LADISPE lab
Class
or Lab work
Monday 17:30-19:00 Room 4D
or LADISPE lab
Class
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.

Books

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.

 

Prerequisites

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.

Topics

 

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).

 Organization

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.
 

 

 


 

Materials

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.

Slides

In-class Exercises

Laboratories

Readings and papers

Links

 


 

Groups and Projects

Exam

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 (https://github.com/AmI-2016);
  • create, and properly update, a GitHub Pages website associated to the project repository, by following the instructions available at https://pages.github.com/ (see the "Project site" section); the website must be easy to navigate and well structured.

The project website MUST contain:

  • the three required deliverables (see below), according to the following (strict!) deadlines;
  • a video of the project, realized following this guide; the video must be prepared for the exam (see the video in the examples section, below).

Important dates and deliverables:

  • 16/03 submit initial ideas and preliminary group composition (on the shared Google doc);
  • 17/03 discussion on groups and project ideas;
  • 18/03 submit group composition (on the shared Google doc);
  • 02/04 creation of the project website (via GitHub Pages) and deadline for the first deliverable (i.e., vision and goal - see the set of slides "AmI Design Process"); the first deliverable must be clearly identified in the website according to this template [PDF] [DOCX]
  • 04/04 check of the first deliverable with the students (in LADISPE)
  • 28/04 deadline for the second deliverable (i.e., system requirements - see the set of slides "AmI Design Process") to be published on the project website; the second deliverable must be clearly identified in the website according to this template [PDF] [DOCX].
  • 02/05 check of the second deliverable with students (in LADISPE);
  • 14/05 deadline for the third deliverable (i.e., system architecture - see the set of slides "AmI Design Process") to be published on the project website; the third deliverable must be clearly identified in the website according to this template [PDF] [DOCX];
  • 16/05 check of the third deliverable with the students (in LADISPE)
  • 19/05 final check of the projects (each group is required to give a 5-minute presentation of their project, and the current status of development). The presentation should be prepared by following these guidelines [PDF].

Exam rules

(extracted from the set of slides "Introduction to the course")

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:

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

Examples

  • Sample web site showing an effective video presentation and project summary, developed by two students of the Princeton University.
  • Projects and websites realized by the students enrolled in the 2014 edition of this course.
  • Projects and websites realized by the students enrolled in the 2015 edition of this course.
  • YouTube playlist containing all the videos produced by the students enrolled in the 2014 edition of the course.
  • YouTube playlist containing all the videos produces by the students enrolled in the 2015 edition of the course.

Log

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 and will be available on the Portale della Didattica. Lectures will be also available in a dedicated YouTube playlist.

DateTimeTypeTopicTeacher
29/02/2016 16:00-17:30 L Course Introduction. Lab organization and final projects. Overview 2014 & 2015 projects. Fulvio Corno
29/02/2016 17:30-19:00 L Definition and characteristics of Ambient Intelligence. Definition of the "theme of the year" (with examples). Fulvio Corno
03/03/2016 16:00-17:30 L Python basics (part I). Luigi De Russis
07/03/2016 16:00-17:30 EL Intro to labs, organization and materials. Getting started with Python (in lab). Luigi De Russis
07/03/2016 17:30-19:00 L AmI Design Process (part I). Fulvio Corno
10/03/2016 16:00-17:30 L AmI Design Process (part II). Fulvio Corno
10/03/2016 17:30-19:00 L Python basics (part II). Luigi De Russis
14/03/2016 16:00-17:30 EL Python basics: exercises. Teodoro Montanaro
14/03/2016 17:30-19:00 L Introduction to Git (and GitHub Pages). Luigi De Russis
17/03/2016 16:00-17:30 EA Group definition. Project ideas check, discussion and suggestions. all
17/03/2016 17:30-19:00 L AmI Design Process (part III). Description of Deliverable D1 template. Fulvio Corno
21/03/2016 16:00-17:30 EA Interfacing Python. Fulvio Corno
21/03/2016 17:30-19:00 EL Interfacing Python: exercises. Teodoro Montanaro
      (Easter vacation)  
31/03/2016 16:00-17:30 L Python Database. Fulvio Corno
31/03/2016 17:30-19:00 L Web architectures and HTML. Fulvio Corno
04/04/2016 16:00-17:30 EL Proposals evaluation (group-by-group feedback on proposed projects and D1). Python database: exercises. all
04/04/2016 17:30-19:00 EL Proposals evaluation (group-by-group feedback on proposed projects and D1). Python database: exercises. all
07/04/2016 16:00-17:30 L Web in Python with Flask Fulvio Corno
07/04/2016 17:30-19:00 EA Web in Python with Flask Fulvio Corno
11/04/2016 16:00-17:30 EL Web in Python: exercises. Teodoro Montanaro
11/04/2016 17:30-19:00 L Web sessions. CSS. Bootstrap. Flask-Bootstrap. Fulvio Corno
14/04/2016 16:00-17:30 L HTTP, REST Architecture, JSON. Fulvio Corno
14/04/2016 17:30-19:00 EA Python REST: a case study. Luigi De Russis
18/04/2016 16:00-17:30 EL Python REST: exercise. Teodoro Montanaro
18/04/2016 17:30-19:00 L Description of Deliverable D2 template and examples Fulvio Corno
21/04/2016 16:00-17:30 L Javascript and jQuery. Fulvio Corno
21/04/2016 17:30-19:00 EA Interacting with smart devices: the Philips Hue case. Luigi De Russis
25/04/2016     Holiday  
28/04/2016 16:00-17:30 L jQuery and Ajax. Fulvio Corno
28/04/2016 17:30-19:00 EA Full example: jQuery, Ajax, REST and Flask. Fulvio Corno
02/05/2015 16:00-17:30 EL Supervised work group and feedback about deliverable 2 (requirements). all
02/05/2015 17:30-19:00 EL Supervised work group and feedback about deliverable 2 (requirements). all
05/05/2016 16:00-17:30 EA Hands-on session. Teodoro Montanaro
09/05/2016 16:00-17:30 EL Supervised work group. Teodoro Montanaro
12/05/2016 16:00-17:30 EA Hands-on session. Teodoro Montanaro
16/05/2016 16:00-17:30 EL Supervised work group and feedback about deliverable 3 (architecture). all
16/05/2016 17:30-19:00 EL Supervised work group and feedback about deliverable 3 (architecture). all
19/05/2016 16:00-17:30 EA Final project review (5 min. pitch). all
19/05/2016 17:30-19:00 EA Hands-on session. Fulvio Corno
23/05/2016 16:00-17:30 EL Supervised work group. Luigi De Russis
30/05/2016 16:00-17:30 EL Supervised work group. Luigi De Russis
30/05/2016 17:30-19:00 EL Supervised work group. Luigi De Russis
06/06/2016 16:00-17:30 EL Supervised work group. Luigi De Russis