Servizi per la didattica
PORTALE DELLA DIDATTICA

Programming for IoT applications

01QWRBH, 01QWRMV, 03QWROV, 03QWRQW

A.A. 2020/21

2020/21

Programming for IoT applications

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.

Programming for IoT applications

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.

Programming for IoT applications

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

Programming for IoT applications

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

Programming for IoT applications

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.

Programming for IoT applications

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.

Programming for IoT applications

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)

Programming for IoT applications

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 Cloud Models and Paradigms Dockers IoT communication protocols e piattaforme IoT Publish/subscribe communication paradigms MQTT, COAP Thingspeak, Amazon, IBM Bluemix Labs Programming IoT devices and platforms (using RaspberryPI or similar)

Programming for IoT applications

Programming for IoT applications

Programming for IoT applications

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.

Programming for IoT applications

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.

Programming for IoT applications

Teaching material: - Lecture notes provided - Scientific papers - SW and HW material for labs

Programming for IoT applications

Teaching material: - Lecture notes provided - Scientific papers - SW and HW material for labs

Programming for IoT applications

Modalità di esame: Prova orale obbligatoria; Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus); Elaborato progettuale in gruppo;

Programming for IoT applications

Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 45h - Use of notes or course handbooks is forbidden Project report: - Project groups should be or 4 members - Oral presentation about the project developed during the course (max score: 18/30) - 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

Programming for IoT applications

Exam: Compulsory oral exam; Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus); Group project;

Programming for IoT applications

Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 45h - Use of notes or course handbooks is forbidden Project report: - Project groups should be or 4 members - Oral presentation about the project developed during the course (max score: 18/30) - 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

Programming for IoT applications

Modalità di esame: Prova scritta (in aula); Prova orale obbligatoria; Prova scritta a risposta aperta o chiusa tramite PC con l'utilizzo della piattaforma di ateneo Exam integrata con strumenti di proctoring (Respondus); Elaborato progettuale in gruppo;

Programming for IoT applications

Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 45h - Use of notes or course handbooks is forbidden Project report: - Project groups should be or 4 members - Oral presentation about the project developed during the course (max score: 18/30) - 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

Programming for IoT applications

Exam: Written test; Compulsory oral exam; Computer-based written test with open-ended questions or multiple-choice questions using the Exam platform and proctoring tools (Respondus); Group project;

Programming for IoT applications

Written exam: - Written test on all the course topics (max score: 12/30) - Duration: 45h - Use of notes or course handbooks is forbidden Project report: - Project groups should be or 4 members - Oral presentation about the project developed during the course (max score: 18/30) - 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

Esporta Word


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