PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Technologies for IoT Ecosystems

01VRRLM, 01VRROA

A.A. 2025/26

Course Language

Inglese

Degree programme(s)

1st degree and Bachelor-level of the Bologna process in Ingegneria Informatica (Computer Engineering) - Torino
1st degree and Bachelor-level of the Bologna process in Ingegneria Informatica - Torino

Course structure
Teaching Hours
Lezioni 50
Esercitazioni in laboratorio 30
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Patti Edoardo   Professore Associato IINF-05/A 20 0 10 0 1
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05
ING-INF/05
2
6
E - Per prova finale e conoscenza della lingua straniera
B - Caratterizzanti
Per la prova finale
Ingegneria informatica
2025/26
The course aims to introduce the main hardware and software features of the technologies required to implement the Internet of Things (IoT) paradigm and its related technological ecosystem.
The course aims to introduce the main hardware and software features of the technologies required to implement the Internet of Things (IoT) paradigm and its related technological ecosystem.
The main objective of the course is to provide students with system-level knowledge, enabling them to program devices to be integrated into an Internet of Things (IoT) scenario and ecosystem. Achieving this goal requires the development of the following competencies: - understanding the details of embedded architectures and how to manage communications to/from the Internet; - knowing the main hardware and software components of such systems, and understanding the differences compared to traditional computing systems; - understanding the constraints these systems impose in terms of computational capabilities and energy consumption, and the relationship between desired functionalities and performance/energy metrics; - knowing the software design flow for IoT devices and how to calibrate it according to computational and energy constraints; - being able to write applications that interact with various types of sensors and actuators; - knowing the tools (software and protocols) for interfacing these devices with networks, and understanding the differences compared to traditional network interfaces; - knowing how to develop distributed software to implement services that analyze data coming from IoT systems; - understanding and evaluating the differences, advantages, and disadvantages of cloud, fog, and edge computing.
The main objective of the course is to provide students with system-level knowledge, enabling them to program devices to be integrated into an Internet of Things (IoT) scenario and ecosystem. Achieving this goal requires the development of the following competencies: - understanding the details of embedded architectures and how to manage communications to/from the Internet; - knowing the main hardware and software components of such systems, and understanding the differences compared to traditional computing systems; - understanding the constraints these systems impose in terms of computational capabilities and energy consumption, and the relationship between desired functionalities and performance/energy metrics; - knowing the software design flow for IoT devices and how to calibrate it according to computational and energy constraints; - being able to write applications that interact with various types of sensors and actuators; - knowing the tools (software and protocols) for interfacing these devices with networks, and understanding the differences compared to traditional network interfaces; - knowing how to develop distributed software to implement services that analyze data coming from IoT systems; - understanding and evaluating the differences, advantages, and disadvantages of cloud, fog, and edge computing.
- Object-oriented programming - Basic knowledge of computer networks - Basic knowledge of digital and analog electronics - Knowledge of computer architectures
- Object-oriented programming - Basic knowledge of computer networks - Basic knowledge of digital and analog electronics - Knowledge of computer architectures
Part I – Hardware Technologies: - Introduction to embedded architectures - Hardware architecture of IoT devices: overview of components and related issues; basic metrics - Sensing and data acquisition: sensor types and classes, interfaces and conversion, serial interfaces, sensor fusion - The digital domain; Microcontrollers (MCUs) vs. Microprocessors (MPUs); overview of MCU architectures - Actuation: overview of wireless communication - Non-functional aspects: power consumption management; energy harvesting, storage, and conversion Part II – Software Technologies for IoT: - Software design and coding for embedded devices; cross-compilation - APIs for device interaction - Introduction to Python for IoT programming - Introduction to data formats for information exchange between devices (e.g., XML, JSON) - Distributed programming using RESTful web services - Publish/subscribe communication paradigm - Communication protocols - Cloud, Fog and Edge computing Laboratories: During the laboratory sessions, the student will learn how to design a complete IoT ecosystem and deploy it within a realistic application domain, initiating data collection on IoT devices, organizing the data on the host, and processing the data both locally and remotely.
Part I – Hardware Technologies: - Introduction to embedded architectures - Hardware architecture of IoT devices: overview of components and related issues; basic metrics - Sensing and data acquisition: sensor types and classes, interfaces and conversion, serial interfaces, sensor fusion - The digital domain; Microcontrollers (MCUs) vs. Microprocessors (MPUs); overview of MCU architectures - Actuation: overview of wireless communication - Non-functional aspects: power consumption management; energy harvesting, storage, and conversion Part II – Software Technologies for IoT: - Software design and coding for embedded devices; cross-compilation - APIs for device interaction - Introduction to Python for IoT programming - Introduction to data formats for information exchange between devices (e.g., XML, JSON) - Distributed programming using RESTful web services - Publish/subscribe communication paradigm - Communication protocols - Cloud, Fog and Edge computing Laboratories: During the laboratory sessions, the student will learn how to design a complete IoT ecosystem and deploy it within a realistic application domain, initiating data collection on IoT devices, organizing the data on the host, and processing the data both locally and remotely.
The laboratory lessons will involve the development of prototypes using boards that will be provided to the students. Two main practical exercises are planned: one focused on hardware interaction, and the other on network and remote system interaction. The laboratory activities will take place during class hours, using the students' own computers and the provided boards.
The laboratory lessons will involve the development of prototypes using boards that will be provided to the students. Two main practical exercises are planned: one focused on hardware interaction, and the other on network and remote system interaction. The laboratory activities will take place during class hours, using the students' own computers and the provided boards.
No official textbook is required. The lecture notes and the documentation needed for the practical exercises will be made available on the course website. Additional material such as documents, website links, software, and manuals will also be provided on the course website
No official textbook is required. The lecture notes and the documentation needed for the practical exercises will be made available on the course website. Additional material such as documents, website links, software, and manuals will also be provided on the course website
Slides; Dispense; Esercizi; Esercizi risolti; Esercitazioni di laboratorio;
Lecture slides; Lecture notes; Exercises; Exercise with solutions ; Lab exercises;
Modalità di esame: Elaborato scritto individuale; Elaborato progettuale in gruppo; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Individual essay; Group project; Computer-based written test in class using POLITO platform;
... The exam aims to assess the skills and knowledge described above through a two-part evaluation: The first part is a closed-book written test that includes both numerical exercises and open-ended and/or multiple-choice questions. The allowed time for the test is 90 minutes, and the maximum score is 26 points. The second part consists of the evaluation of the reports on the two laboratory exercises. The maximum total score for the lab reports is 7 points. The sum of the test score and the lab evaluations will produce the final score (with a maximum of 33 points, corresponding to 30 with honors).
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: Individual essay; Group project; Computer-based written test in class using POLITO platform;
The exam aims to assess the skills and knowledge described above through a two-part evaluation: The first part is a closed-book written test that includes both numerical exercises and open-ended and/or multiple-choice questions. The allowed time for the test is 90 minutes, and the maximum score is 26 points. The second part consists of the evaluation of the reports on the two laboratory exercises. The maximum total score for the lab reports is 7 points. The sum of the test score and the lab evaluations will produce the final score (with a maximum of 33 points, corresponding to 30 with honors).
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