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: http://bit.ly/polito-ami
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 https://ami-2014.github.io/
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 https://github.com/AmI-2014/AmI-2014.github.io - 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:
- April 16, 15:00-19:00, Sala Consiglio di Facoltà: "Soluzioni di efficienza energetica con sistemi di illuminazione LED" (free registration required), by GEWISS
- May 23, 11:30-13:30, Room 27: "Soluzioni innovative per la domotica e l'automazione degli edifici", by Schneider Electric
-
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.- before March, 23 fill this document with the members of your team: https://docs.google.com/document/d/1H0wmUh2AlIQnutK-ZJnfHAj5NyyT4cfsRXvN1MHcexw
- before March, 23 each of you is required to propose at least one idea for the final project at http://ami-polito.ideascale.com
- 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: http://pydev.org/download.html#pydev-does-not-appear-after-install
- 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
Sponsors
The following companies or organizations are supporting the equipment used in the course labs.
Information
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 |
Class 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 |
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:
- 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.)
- Requirements and design methodology for AmI. Design, analysis and specification of requirements and functionalities related to user interacting with AmI settings.
- Taxonomy of Ambient Intelligent systems and state of the art industrial systems. Seminars with industry experts.
- 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
- Course Introduction
-
Definitions and Application Areas (part 1) - Definitions and Application Areas (complete)
- Programming for AmI
- Python basics (complete)
- Labs and Teamwork
- Hardware fundamentals
-
AmI Design Process (part 1) - AmI Design Process (complete)
- Version Control with Git
- Rapid prototyping: Python Software
- Web Architecture and Technologies (updated: 2014-04-03)
- Ideas evaluation and Projects assignment (updated: 31/03/2014)
- The Dog Gateway: introduction and REST API
- REST in Python: The Python Music Server
- Interoperation of different home automation networks
- Interacting with the Pebble smartwatch
- Ambient Intelligence Taxonomy
- Home and Building Automation Systems (MyOpen, KNX, ModBus, ZigBee, EnOcean)
- EnOcean Energy Harvesting
Exercises
- Python basics (complete)
- Rapid prototyping: Python Software (GitHub)
- REST in Python: The Python Music Server (GitHub)
- Interoperation of different home automation networks (GitHub)
- Interacting with the Pebble smartwatch (GitHub)
Laboratories
- Hands on Python (auxiliary files: alice.txt, python-zen.txt) [Solutions on GitHub]
- Python intermediate [Solutions on GitHub]
- Summary evaluations
- Python software and hardware
- Requirements evaluation
Readings and papers
- Intelligent Environments: a manifesto, JC Augusto et al, 2013
- Scenarios in Ambient Intelligence 2010, European Commission ISTAG, 2001
- Think Python: How to Think Like a Computer Scientist, Allen Downey, Green Tea Press, Needham, Massachusetts
- Official Python Tutorial
- Learn Python the Hard Way, Zed Shaw
- Dive Into Python 2, Mark Pilgrim
-
Google's Python class
- Online Python Tutor
- Getting started with the Raspberry Pi, Matt Richardson and Shawn Wallace, O'Reilly
- Raspberry Pi cookbook, Simon Monk, O'Reilly
- Raspberry Pi for secret agents, Stefan Sjogelid, Packt Publishing
- A collection of Linux quick reference sheets (cheat sheets)
Links
- Facebook group linked to the course
- Ideascale collaboration platform for the definition of ideas of the Group Projects
- The Dog Gateway project website
- List of students works' websites
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-2014);
- 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 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.
Examples
- Sample web site showing an effective video presentation and project summary, developed by two students of the Princeton University.
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 (screencasting) and will be published immediately after the class. Lectures are also available on this YouTube playlist.