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:

  1. Discussione orale sui concetti chiave e sull’analisi delle scelte progettuali;
  2. 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);
  3. 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:
Ultimo aggiornamento: 12/05/2026 15:32
Location: https://www.didattica-cps.unito.it/robots.html
Non cliccare qui!