Servizi per la didattica
PORTALE DELLA DIDATTICA

Programming for IoT applications

01QWRBH, 01QWRMV, 03QWROV, 03QWRQW

A.A. 2022/23

Course Language

Inglese

Course degree

Master of science-level of the Bologna process in Ict For Smart Societies (Ict Per La Societa' Del Futuro) - Torino
Master of science-level of the Bologna process in Ingegneria Biomedica - Torino
Master of science-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino
Master of science-level of the Bologna process in Mechatronic Engineering (Ingegneria Meccatronica) - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in laboratorio 30
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Patti Edoardo   Professore Associato ING-INF/05 30 0 0 0 4
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 C - Affini o integrative Attivitą formative affini o integrative
2022/23
Internet of Things indicates a variety of devices connected via the Internet, including wearable devices, sensors deployed on buildings, industrial plants, production and distribution energy systems and in general on cyber-physical systems. IoT technology is widely adopted in many application domains, such as smart factories, buildings and districts for energy monitoring or surveillance, environment monitoring and control of natural phenomena, within transport systems for traffic management and finally within medical devices. In this context, the aim of the course is to give the student ability to program embedded devices connected to the network using programming paradigms for distributed, parallel and object oriented systems. The ultimate goal will be the ability of programming in the Internet-of-Things and Cyber-Physical-Systems world. Students must acquire the ability to deploy and use of web services and middleware tools and related protocols (MQTT, REST). The student will also acquire the ability to program according paradigms publish / subscribe. The student will explore the concepts and tools for interoperability between heterogeneous devices, protocols, Machine-to-Machine, operating systems-oriented smart objects and programming with real-time constraints and energy consumption. Finally, it will be handled aspects related to IoT data processing using machine learning techniques such as recurrent neural networks. During the course will be presented case studies related to monitoring systems within smart cities and smart factories and includes a series of laboratory exercises where the student will implement the concepts of programming networked embedded devices equipped with sensors and actuators, and allowing remote interaction with these devices.
Internet of Things indicates a variety of devices connected via the Internet, including wearable devices, sensors deployed on buildings, industrial plants, production and distribution energy systems and in general on cyber-physical systems. IoT technology is widely adopted in many application domains, such as smart factories, buildings and districts for energy monitoring or surveillance, environment monitoring and control of natural phenomena, within transport systems for traffic management and finally within medical devices. In this context, the aim of the course is to give the student ability to program embedded devices connected to the network using programming paradigms for distributed, parallel and object oriented systems. The ultimate goal will be the ability of programming in the Internet-of-Things and Cyber-Physical-Systems world. Students must acquire the ability to deploy and use of web services and middleware tools and related protocols (MQTT, REST). The student will also acquire the ability to program according paradigms publish/subscribe and request/response. The student will explore the concepts and tools for interoperability between heterogeneous devices, protocols, Machine-to-Machine, operating systems-oriented smart objects and programming with real-time constraints and energy consumption. During the course will be presented case studies related to monitoring systems within smart cities and smart factories and includes a series of laboratory exercises where the student will implement the concepts of programming networked embedded devices equipped with sensors and actuators, and allowing remote interaction with these devices.
The course aims to provide students with the knowledge of object oriented programming and tools for its implementation in Python. Knowledge of the protocols for implementing web service oriented communication paradigms. Knowledge of the main tools for programming environment in real-time and in the presence of sensors and actuators. Tools for data analysis using machine learning. The student will learn how to design a complete IoT system (microservice-based) and deploy it in a realistic application domain, starting data collection on IoT devices, data organization on the host, data processing, visualisation and user interaction
The course aims to provide students with the knowledge of object oriented programming and tools for its implementation in Python. Knowledge of the protocols for implementing web service oriented communication paradigms. Knowledge of the main tools for programming environment in real-time and in the presence of sensors and actuators. The student will learn how to design a complete IoT system (microservice-based) and deploy it in a realistic application domain, starting data collection on IoT devices, data organisation on the host, data processing, visualisation and user interaction
Knowledge of the basic elements of programming and architecture of computing systems, which are provided during the Computer Science course at first year of the Engineering degree program.
Knowledge of the basic elements of programming and architecture of computing systems, which are provided during the Computer Science course at first year of the Engineering degree program.
Introduction to object oriented programming and Python (6 h) XML, JSON formats IoT devices and communication protocols (3 h) Programming distributed objects using Web Services RestFULL Web Services (GET, PUT, POST, DELETE methods) Microservices and Middleware programming (3 h) Middlewares Dockers IoT communication protocols e piattaforme IoT (9 h) Publish/subscribe communication paradigms MQTT, COAP Thingspeak, Amazon, IBM Bluemix IoT data processing (9 h) Machine learning methods Time series analysis and stream processing Recurrent neural networks Labs (30 h) Programming IoT devices and platforms (using RaspberryPI or similar)
Introduction to object oriented programming and Python XML, JSON formats IoT devices and communication protocols Programming distributed objects using Web Services RestFULL Web Services (GET, PUT, POST, DELETE methods) Microservices and Middleware programming Middlewares Virtualisation (e.g. Dockers) Cloud Models and Paradigms IoT communication protocols and IoT platforms Publish/subscribe and request/response communication paradigms MQTT protocol Examples of cloud systems in the market (e.g. Thingspeak, Amazon, IBM Bluemix) Labs Programming IoT devices and platforms (using RaspberryPI or similar)
The course is organized in a series of lectures (30 hours) and laboratory modules (30 hours total). Part of the labs will guide students so that they become familiar with the programming tools learned in class. The remaining labs will be oriented to the development of a project that student groups (minimum of 3 students per group) will continue during the course and that they will discuss as part of the final evaluation.
The course is organized in a series of lectures (30 hours) and laboratory modules (30 hours total). Part of the labs will guide students so that they become familiar with the programming tools learned in class. The remaining labs will be oriented to the development of a project that student groups (4 students per group) will continue during the course and that they will discuss as part of the final evaluation.
Teaching material: - Lecture notes provided - Scientific papers - SW and HW material for labs
Teaching material: - Lecture notes provided - Scientific papers - SW and HW material for labs
Modalitą di esame: Prova scritta (in aula); Prova orale obbligatoria; Elaborato scritto prodotto in gruppo; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Written test; Compulsory oral exam; Group essay; Computer-based written test in class using POLITO platform;
Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 1h - Use of notes or course handbooks is forbidden Project report: - Project groups should be or 4-5 members - Oral presentation about the project developed during the course (max score: 18/30) - Questions are related to the project only - Video material about the project (2 min presentation video, demo video of free duration) - No midterm deadlines for the project completion - It is mandatory to return all HW equipment provided by the teachers at the time of the oral exam
Gli studenti e le studentesse con disabilitą o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unitą Special Needs, al fine di permettere al/la docente la declinazione pił idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Compulsory oral exam; Group essay; Computer-based written test in class using POLITO platform;
Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 1h - Use of notes or course handbooks is forbidden Project report: - Project groups should be of 4 member - Oral presentation about the project developed during the course (max score: 18/30) - Video material about the project (2 min presentation video, 10 min presentation video) - No midterm deadlines for the project completion - It is mandatory to return all HW equipment provided by the teachers at the time of the oral exam
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti