CODICE 114766 ANNO ACCADEMICO 2025/2026 CFU 5 cfu anno 2 ELECTRONIC ENGINEERING 11780 (LM-29) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/03 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Questo insegnamento introduce gli studenti ai principali problemi e allo sviluppo di piattaforme informatiche pervasive per reti di sistemi elettronici dinamici interconnessi realizzati. Gli studenti comprenderanno e implementeranno sistemi auto-organizzanti utilizzando moderne tecniche di apprendimento automatico come abilitatori per molte attività autonome e semiautonome. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO L'unità didattica mira a fornire agli studenti una comprensione completa della progettazione, dello sviluppo e dell'implementazione di sistemi di pervasive computing composti da entità elettroniche connesse dinamicamente, denominate ego-things. Questi sistemi sono caratterizzati dalla capacità di operare in modo autonomo o semi-autonomo in ambienti distribuiti, sfruttando l'auto-organizzazione e l'apprendimento automatico per adattarsi a condizioni e compiti mutevoli. L'unità didattica enfatizza sia i fondamenti teorici che l'implementazione pratica, preparando gli studenti a innovare in settori come gli ambienti intelligenti, i sistemi autonomi e l'Internet delle cose (IoT). Al termine di questa unità didattica, gli studenti saranno in grado di: Comprensione concettuale Spiegare i principi del pervasive computing e il suo ruolo nei moderni sistemi elettronici. Descrivere l'architettura e il comportamento delle ego-things all'interno di reti dinamiche e decentralizzate. Progettazione e implementazione di sistemi Progettare e prototipare sistemi elettronici embedded in grado di connettività dinamica e funzionamento autonomo. Integrare sensori, attuatori e moduli di comunicazione per realizzare dispositivi context-aware. Sistemi auto-organizzati Analizzare e implementare meccanismi auto-organizzati in sistemi distribuiti. Valutare le prestazioni e la robustezza delle strategie di coordinamento decentralizzate. Integrazione con l'apprendimento automatico Applicare moderne tecniche di apprendimento automatico (ad esempio, apprendimento per rinforzo, apprendimento federato, apprendimento non supervisionato) per abilitare comportamenti adattivi nei sistemi elettronici. Sviluppare e addestrare modelli che supportino il processo decisionale in tempo reale in ambienti con risorse limitate. Applicazione pratica e innovazione Sviluppare e testare un prototipo completo di sistema pervasivo che affronti un problema reale. Valutare criticamente le implicazioni etiche, sociali e tecniche dell'implementazione di sistemi elettronici autonomi in ambienti quotidiani. PREREQUISITI Integrated sensing and communications Tiny machine learning Sensors MODALITA' DIDATTICHE Le lezioni alternano spiegazioni teoriche ad esercitazioni pratiche. Le spiegazioni teoriche sono spesso esemplificate con l'analisi, l'esecuzione e il debug di frammenti di codice direttamente sul PC del docente. Tutto il materiale visto in classe (slide ed esempi pratici) viene condiviso tramite le piattaforme AulaWeb e Teams. Gli studenti possono interagire direttamente con il docente durante le lezioni o tramite la piattaforma Teams. Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi sono invitati a contattare il docente e il referente di Scuola per la disabilità all’inizio dell’insegnamento per concordare eventuali modalità didattiche che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. I contatti del referente di Scuola per la disabilità sono disponibili al seguente link Comitato di Ateneo per l’inclusione delle studentesse e degli studenti con disabilità o con DSA | UniGe | Università di Genova PROGRAMMA/CONTENUTO Introduzione al Pervasive Computing: storia ed evoluzione dei sistemi pervasivi, caratteristiche: ubiquità, consapevolezza del contesto, autonomia, applicazioni in ambienti intelligenti, sicurezza e mobilità Ego-Things e connettività dinamica: concetto di ego-things e autoconsapevolezza nei dispositivi, protocolli di comunicazione Sistemi embedded per piattaforme pervasive: microcontrollori e SoC (ad esempio, ESP32, STM32), sistemi operativi real-time (RTOS) Sensori, attuatori e consapevolezza del contesto: integrazione dei sensori e acquisizione dati, condizionamento e preelaborazione del segnale, modellazione e interpretazione del contesto Sistemi auto-organizzanti: principi di auto-organizzazione ed emergenza, intelligenza collettiva e coordinamento distribuito Machine Learning per sistemi embedded: panoramica dei modelli di Machine Learning adatti a dispositivi edge, compressione e quantizzazione del modello Apprendimento in ambienti dinamici: apprendimento online e adattamento continuo, basi del reinforcement learning, apprendimento federato Integrazione e prototipazione di sistemi: progettazione congiunta hardware/software, stack di comunicazione Integrazione Sicurezza e considerazioni etiche: sicurezza nei sistemi pervasivi (ad esempio, autenticazione, crittografia), implicazioni etiche dei sistemi autonomi, privacy dei dati e IA responsabile Casi di studio e applicazioni industriali: città intelligenti, veicoli autonomi, IoT industriale TESTI/BIBLIOGRAFIA Pervasive Computing: Engineering Smart Systems Autore: Natalia Silvis-Cividjian Editore: Springer, 2017 Un'introduzione completa al pervasive computing, che copre elaborazione del segnale, sistemi di controllo, apprendimento automatico e ingegneria di sistema. Embedded System Design Autore: Peter Marwedel Tratta la progettazione congiunta di hardware/software, i sistemi in tempo reale e il computing a basso consumo energetico. Ideale per comprendere l'architettura e i vincoli delle piattaforme embedded. Computers as Components: Principles of Embedded Computing System Design Autore: Wayne Wolf Si concentra sulla progettazione a livello di sistema e sull'integrazione di sistemi embedded. Include casi di studio e metodologie di progettazione pratiche. Making Embedded Systems Autore: Elecia White Una guida pratica per ingegneri e studenti, con consigli pratici su debug, test e implementazione nel mondo reale. Swarm Intelligence: From Natural to Artificial Systems Autori: Eric Bonabeau, Marco Dorigo, Guy Theraulaz Un testo fondamentale sul coordinamento decentralizzato e il comportamento emergente nei sistemi distribuiti. Self-Organization in Biological Systems Autori: Scott Camazine et al. Sebbene orientato alla biologia, questo libro fornisce approfondimenti sui principi applicabili ai sistemi auto-organizzati ingegnerizzati. TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers Autori: Pete Warden, Daniel Situnayake Una guida pratica all'implementazione di modelli di Machine Learning su dispositivi con risorse limitate. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow Autore: Aurélien Géron Sebbene non sia specifico per i dispositivi edge, questo libro è eccellente per sviluppare le competenze di Machine Learning fondamentali necessarie per lo sviluppo e l'ottimizzazione dei modelli. DOCENTI E COMMISSIONI LUCIO MARCENARO Ricevimento: Su appuntamento ALI KRAYANI LEZIONI INIZIO LEZIONI https://corsi.unige.it/corsi/11970/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Valutazione basata sul progetto MODALITA' DI ACCERTAMENTO Funzionalità tecnica e innovazione Il prototipo soddisfa i requisiti funzionali? Il sistema è robusto, scalabile e ben integrato? Dimostra innovazione nella progettazione o nell'applicazione? Progettazione e documentazione del sistema Chiarezza e completezza dell'architettura del sistema Giustificazione delle scelte progettuali (hardware, protocolli, modelli di apprendimento automatico) Qualità dei diagrammi, della documentazione del codice e della strategia di test Presentazione e comunicazione Chiarezza e professionalità della presentazione orale Capacità di spiegare concetti tecnici a un pubblico eterogeneo Efficacia degli ausili visivi e delle demo dal vivo Lavoro di squadra e gestione del progetto Dimostrazione di collaborazione e distribuzione dei compiti Utilizzo di strumenti di gestione del progetto (ad esempio, Git) Valutazione tra pari dei contributi individuali