- Oggetto:
PROTOTIPAZIONE PER IOT (in fase di istituzione)
- Oggetto:
IOT PROTOTYPING FOR IOT
- Oggetto:
Anno accademico 2026/2027
- Codice attività didattica
- CPS1101
- Docente
- Paolo Castagno (Titolare dell'insegnamento)
- Corso di studio
- Corso di laurea magistrale in Servizi Human-Centered per Società Digitali (Classe LM-91 R) [0310M21]
- Anno
- 1° anno
- Periodo
- Secondo semestre
- Tipologia
- Affine/Integrativa
- Crediti/Valenza
- 6
- SSD attività didattica
- INFO-01/A - Informatica
- Erogazione
- Tradizionale
- Lingua
- Italiano
- Frequenza
- Facoltativa
- Tipologia esame
- Orale
- Prerequisiti
- Conoscenze di base di programmazione (Python).
- Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
L’insegnamento fornisce le conoscenze e competenze per progettare, implementare e valutare servizi IoT distribuiti tenendo in considerazione vincoli reali di energia, risorse computazionali, memoria e rete.
In particolare, gli studenti saranno in grado di:- interfacciarsi con sensori e attuatori tramite protocolli hardware (ad esempio, GPIO);
- comprendere e valutare i vincoli di potenza, prestazioni e affidabilità nel contesto IoT;
- progettare architetture distribuite device–edge–cloud con decisioni di collocazione intelligenti;
- analizzare e ottimizzare modelli di Machine Learning per il loro uso efficiente su dispositivi con risorse limitate;
- applicare tecniche di compressione dei modelli (pruning, quantizzazione, modelli classici) e confrontarle quantitativamente;
- valutare trade-off tra accuratezza, latenza, banda e consumo energetico nei servizi intelligenti;
- adottare pratiche di sicurezza e privacy by design in sistemi IoT con componenti ML.
Questi obiettivi si collocano nell’ambito della preparazione avanzata prevista per laureati magistrali fornendo competenze sistemistiche e architetturali applicate a contesti IoT.
The course provides the knowledge and skills to design, implement, and evaluate distributed IoT services while taking into account real-world constraints such as energy, computational resources, memory, and networking.
In particular, students will be able to:
- interface with sensors and actuators via hardware protocols (e.g., GPIO);
- understand and evaluate constraints related to power, performance, and reliability in the IoT context;
- design distributed device–edge–cloud architectures with intelligent placement decisions;
- analyze and optimize Machine Learning models for efficient use on resource-constrained devices;
- apply model compression techniques (pruning, quantization, classical models) and compare them quantitatively;
- evaluate trade-offs between accuracy, latency, bandwidth, and energy consumption in intelligent services;
- adopt security and privacy-by-design practices in IoT systems with ML components.
These objectives fall within the scope of the advanced preparation expected for master’s degree graduates, providing system-level and architectural skills applied to IoT contexts.
- Oggetto:
Risultati dell'apprendimento attesi
Al termine dell’insegnamento lo studente sarà in grado di:
Conoscenza e comprensione
- Comprendere i vincoli intrinseci dei sistemi IoT reali (energia, memoria, latenza, banda).
- Conoscere metodologie e strumenti per sviluppare servizi distribuiti.
- Conoscere tecniche di ottimizzazione per Machine Learning su dispositivi con risorse limitate.
Capacità di applicare conoscenza e comprensione
- Interfacciare e programmare sensori/attuatori su sistemi Linux headless.
- Scegliere tra soluzioni di elaborazione distribuita device/edge/cloud basandosi su metriche quantitative.
- Applicare tecniche di compressione dei modelli e misurare i risultati dei compromessi.
Autonomia di giudizio
- Valutare criticamente alternative architetturali e algoritmiche alla luce di vincoli reali.
- Giustificare scelte progettuali basate su metriche e requisiti concreti.
Abilità comunicative
- Documentare architetture distribuite e analisi di performance rispettando convenzioni tecniche.
- Presentare risultati sperimentali in contesti accademici/professionali.
Capacità di apprendimento
- Ricercare indipendentemente documentazione tecnica su Linux, networking, protocolli IoT e ML on-device.
At the end of the course, the student will be able to:
Knowledge and understanding
Understand the intrinsic constraints of real IoT systems (energy, memory, latency, bandwidth).
- Know methodologies and tools for developing distributed services.
- Know optimization techniques for Machine Learning on resource-constrained devices.
Ability to apply knowledge and understanding
- Interface with and program sensors/actuators on headless Linux systems.
- Choose among distributed computing solutions (device/edge/cloud) based on quantitative metrics.
- Apply model compression techniques and measure the resulting trade-offs.
Autonomy of judgment
- Critically evaluate architectural and algorithmic alternatives in light of real-world constraints.
- Justify design choices based on concrete metrics and requirements.
Communication skills
- Document distributed architectures and performance analyses in accordance with technical conventions.
- Present experimental results in academic/professional contexts.
Learning skills
- Independently research technical documentation on Linux, networking, IoT protocols, and on-device ML.
- Oggetto:
Programma
1) Fondamenti di Linux
- Struttura filesystem, gestione utenti, permessi, processi
- Accesso remoto via SSH
- Monitoraggio di risorse (CPU, memoria, rete)
2) Networking per Edge Devices
- Configurazione IP, diagnostica (ping, netstat, ss)
- Servizi di rete Python (HTTP, MQTT)
- Sicurezza di base per connessioni e SSH
3) Interazione con Hardware
- GPIO digitale, I2C, SPI, UART
- Lettura di sensori reali
- Concetti di sampling, rumore, filtraggio
4) Sistemi IoT Distribuiti
- Modelli device–edge–cloud
- Messaging patterns, resilienza
- Buffering, retry, idempotenza
5) Machine Learning on Edge
- Profilazione di modelli
- Analisi di latenza, memoria, throughput
- Tipi di modelli adatti a contesto embedded
- Compressione dei Modelli
6) Architetture di Collocazione
- Quando inferire sul device vs. edge vs. cloud
- Privacy-aware design
- Cost modelling
7) Sicurezza e Privacy per IoT ML
- Threat model, autenticazione, cifratura
- Data minimization, aggiornamenti sicuri
1) Linux Fundamentals
- Filesystem structure, user management, permissions, processes
- Remote access via SSH
- Resource monitoring (CPU, memory, network)
2) Networking for Edge Devices
- IP configuration, diagnostics (ping, netstat, ss)
- Python network services (HTTP, MQTT)
- Basic security for connections and SSH
3) Hardware Interaction
- Digital GPIO, I2C, SPI, UART
- Reading data from real sensors
- Concepts of sampling, noise, and filtering
- 4) Distributed IoT Systems
- Device–edge–cloud models
- Messaging patterns, resilience
- Buffering, retry, idempotency
5) Machine Learning on Edge
- Model profiling
- Analysis of latency, memory, throughput
- Types of models suitable for embedded contexts
- Model compression
6) Placement Architectures
- When to perform inference on device vs. edge vs. cloud
- Privacy-aware design
- Cost modeling
7) Security and Privacy for IoT ML
- Threat modeling, authentication, encryption
- Data minimization, secure updates
- Oggetto:
Modalità di insegnamento
L’insegnamento è suddiviso in:
- Lezioni teoriche e dimostrative
- Laboratori pratici
- Attività progettuale
Lo studente è seguito con esercitazioni in laboratorio e mini-assignment che preparano alla prova finale.
The course is divided into:
- Theoretical and demonstration lectures
- Practical laboratory sessions
- Project work
Students are supported through lab exercises and mini-assignments that prepare them for the final assessment.
- Oggetto:
Modalità di verifica dell'apprendimento
La prova finale comprende:
- Discussione orale sui concetti chiave e sull’analisi delle scelte progettuali;
- Presentazione e discussione di un progetto di servizio IoT sviluppato durante il corso, completo di valutazione quantitativa (latency, memoria, consumo stimato, accuratezza di modello ML);
- Eventuali esercizi/laboratori svolti durante il corso possono essere discussi come parte integrante.
La prova è unica e valuta:
- capacità di progettare e giustificare soluzioni,
- competenze tecniche nella configurazione e nell’ottimizzazione,
risultati sperimentali della prototipazione.
Tutti elementi contribuiscono al voto finale.The final assessment includes:
-
An oral discussion on key concepts and the analysis of design choices;
-
Presentation and discussion of an IoT service project developed during the course, including quantitative evaluation (latency, memory, estimated energy consumption, ML model accuracy);
-
Any exercises/lab activities carried out during the course may be discussed as an integral part.
The assessment is a single exam and evaluates:
-
the ability to design and justify solutions,
-
technical skills in configuration and optimization,
-
experimental results from prototyping.
All elements contribute to the final grade.
Testi consigliati e bibliografia
- Oggetto:








