Salta al contenuto principale
CODICE 94787
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE IINF-05/A
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 2° Semestre
MODULI Questo insegnamento è un modulo di:
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L’insegnamento fornisce competenze avanzate nella progettazione di architetture software per sistemi embedded, IoT e cyber-fisici intelligenti.

Particolare attenzione è dedicata all’integrazione tra percezione sensoriale, elaborazione intelligente (Machine Learning e TinyML) e azione nel mondo fisico secondo il paradigma della Physical AI.

L'insegnamento affronta la progettazione architetturale, lo sviluppo applicativo, l’integrazione di modelli di Machine Learning su microcontrollore, il testing e la validazione, la documentazione tecnica, la sicurezza e la gestione evolutiva del software.

Vengono inoltre introdotti il Natural Language Programming e l’utilizzo consapevole dell’Intelligenza Artificiale generativa come strumento di supporto alla progettazione e allo sviluppo di sistemi intelligenti.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L’insegnamento fornisce competenze per la progettazione software di sistemi embedded e cyber-fisici intelligenti, con particolare attenzione all’integrazione tra percezione sensoriale, elaborazione intelligente e azione nel mondo fisico secondo il paradigma della Physical AI. Il corso affronta architetture software, modellazione di sistemi reattivi, integrazione di modelli TinyML su microcontrollore, testing, lifecycle, documentazione tecnica e aspetti di safety, security e AI governance. Particolare attenzione è dedicata all’utilizzo consapevole dell’Intelligenza Artificiale generativa come supporto alla progettazione software nell’ambito dell’Ingegneria Aumentata. Le attività didattiche includono esercitazioni pratiche di sviluppo software e prototipazione applicativa su piattaforme embedded.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

L’insegnamento approfondisce le competenze necessarie alla progettazione, allo sviluppo, alla validazione e alla gestione del ciclo di vita di sistemi embedded, IoT e cyber-fisici intelligenti, con particolare attenzione agli aspetti software e architetturali. Gli studenti acquisiranno conoscenze sui principali modelli architetturali per sistemi reattivi e distribuiti, sulle tecniche di sviluppo per microcontrollori e sull’integrazione tra percezione sensoriale, elaborazione intelligente e azione nel mondo fisico secondo il paradigma della Physical AI.

Saranno affrontate le problematiche relative all’integrazione di modelli di Machine Learning e TinyML su dispositivi embedded a risorse limitate, alla progettazione di sistemi intelligenti basati su sensori e attuatori e alla modellazione di componenti, comportamenti e interazioni mediante tecniche e strumenti standard.

L’insegnamento prevede inoltre lo studio delle metodologie di ingegneria del software applicate ai sistemi intelligenti, delle strategie di testing, validazione, safety e security, della documentazione tecnica e della gestione evolutiva di firmware e modelli di Machine Learning.

Particolare attenzione sarà dedicata all’utilizzo dell’Intelligenza Artificiale generativa come strumento di supporto alla progettazione, allo sviluppo e alla documentazione tecnica. Gli studenti saranno guidati a utilizzare tali strumenti in modo critico e responsabile, mantenendo il controllo delle decisioni progettuali e della validazione dei risultati.

L’obiettivo complessivo è formare figure in grado di affrontare l’intero processo di sviluppo di sistemi cyber-fisici intelligenti, dalla definizione dell’architettura fino alla realizzazione e validazione del sistema, operando efficacemente in contesti interdisciplinari e ad elevata complessità tecnologica.

PREREQUISITI

Per affrontare con profitto l’insegnamento lo studente dovrebbe possedere:

1. Conoscenze di base di programmazione, ad esempio in linguaggio C, C++ o Python, comprensive dell’uso di variabili, strutture di controllo, funzioni, tipi di dato, modularità e principi fondamentali di progettazione del software;

2. Conoscenze di base sull’architettura dei calcolatori e sui sistemi digitali, inclusi i principali componenti hardware e software di un sistema di elaborazione;

3. Familiarità con l’utilizzo del personal computer come ambiente di sviluppo, inclusa l’installazione e l’utilizzo di strumenti software e ambienti di programmazione.

Costituiscono elementi utili, ma non obbligatori, conoscenze pregresse di elettronica digitale, sistemi embedded, Internet of Things, Machine Learning e modellazione del software.

MODALITA' DIDATTICHE

L'insegnamento è articolato secondo due categorie distinte di attività:

**Lezione Teorica (Lecture - Lezione):** attività didattica, per un totale di 40 ore, nella quale lo studente partecipa a lezioni teoriche e pratico-applicative dedicate alla progettazione di sistemi embedded, IoT e cyber-fisici intelligenti, alle metodologie di sviluppo software, all’integrazione di tecniche di Machine Learning e TinyML e agli aspetti di testing, validazione e governance dell’Intelligenza Artificiale.

**Lezione Pratica (Hands-on Experience - Sessione di studio):** componente di didattica assistita, per un totale di 20 ore, nella quale lo studente svolge attività progettuali e di laboratorio finalizzate alla realizzazione di prototipi di sistemi cyber-fisici intelligenti mediante piattaforme embedded e relativi strumenti di sviluppo.

Le attività didattiche sono organizzate in una prima fase dedicata alla progettazione e allo sviluppo autonomo delle soluzioni e in una seconda fase nella quale gli stessi problemi progettuali vengono affrontati con il supporto dell’Intelligenza Artificiale generativa, al fine di sviluppare capacità di supervisione, validazione e utilizzo critico degli strumenti AI.

La frequenza alle lezioni e alle esercitazioni è fortemente consigliata. I materiali didattici, le attività di laboratorio e i progetti sviluppati durante il periodo di lezione costituiscono parte integrante del percorso formativo.

L’insegnamento corrisponde a 6 CFU per un totale di 150 ore di impegno complessivo dello studente.

PROGRAMMA/CONTENUTO

1. Fondamenti di Sistemi Embedded e Cyber-Physical Systems
   (Architettura e caratteristiche dei sistemi embedded, IoT e cyber-fisici intelligenti; paradigma della Physical AI; integrazione tra percezione, elaborazione e azione; requisiti funzionali e non funzionali.)
   Attività: analisi di casi di studio, modellazione di sistemi cyber-fisici intelligenti.

2. Progettazione di Architetture Software per Sistemi Embedded
   (Architetture software e hardware; progettazione top-down; diagrammi a blocchi, WBS e modellazione gerarchica; decomposizione funzionale; progettazione di pipeline percezione–decisione–azione.)
   Attività: modellazione architetturale, uso di ProjectLibre e strumenti di rappresentazione.

3. Modellazione e Progettazione di Applicazioni Embedded
   (Macchine a stati finiti, sistemi event-driven, progettazione di interfacce fisiche e digitali, modellazione UML di struttura e comportamento.)
   Attività: sviluppo di FSM, diagrammi UML, progettazione di componenti software.

4. Agenti Intelligenti e Sistemi Cyber-Fisici Autonomi
   (Modelli reattivi e deliberativi, comportamento autonomo, interazione agente-ambiente, architetture di controllo e sistemi intelligenti distribuiti.)
   Attività: progettazione di agenti embedded e simulazione di scenari autonomi.

5. Machine Learning e TinyML per Sistemi Embedded
   (Fondamenti di Machine Learning per sistemi cyber-fisici; acquisizione dati; addestramento e validazione di modelli; deployment su microcontrollore; inferenza su dispositivi a risorse limitate.)
   Attività: sviluppo e integrazione di modelli TinyML.

6. Sviluppo Applicativo e Integrazione Hardware-Software
   (Programmazione di microcontrollori, integrazione di sensori e attuatori, protocolli di comunicazione, gestione delle risorse fisiche del sistema.)
   Attività: realizzazione di prototipi embedded e integrazione di componenti hardware e software.

7. Testing, Validazione, Safety e Security
   (Strategie di testing e verifica; validazione funzionale; robustezza; sicurezza dei sistemi embedded intelligenti; gestione degli errori e affidabilità.)
   Attività: progettazione ed esecuzione di casi di test e validazione del sistema.

8. Ciclo di Vita, Documentazione Tecnica e Gestione Evolutiva
   (Modelli di sviluppo software; gestione dei requisiti; versionamento; manutenzione evolutiva di firmware e modelli ML; documentazione tecnica e Model Card.)
   Attività: produzione della documentazione di progetto e gestione delle release.

9. Natural Language Programming e Ingegneria Aumentata
   (Utilizzo dell’Intelligenza Artificiale generativa come supporto alla progettazione, allo sviluppo, al testing e alla documentazione; prompting, supervisione e validazione dei risultati; confronto tra sviluppo autonomo e sviluppo assistito.)
   Attività: utilizzo guidato di strumenti di IA generativa in attività di progettazione e sviluppo.

10. AI Governance e Responsabilità Professionale
    (Aspetti etici, organizzativi e professionali dell’utilizzo dell’IA nei sistemi intelligenti; trasparenza, tracciabilità, responsabilità, sicurezza e sostenibilità delle soluzioni progettate.)
    Attività: analisi critica di casi di studio e discussione delle scelte progettuali.

TESTI/BIBLIOGRAFIA

Materiali usati durante le lezioni in aula  e durante le attività di laboratorio, resi disponibili con il procedere delle lezioni sul portale AulaWeb nella sezione "Materiali utilizzati a lezione", unitamente a link a risorse e testi fruibili in rete.

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Al fine di sostenere l’esame, lo studente deve effettuare l’iscrizione telematica attraverso il Portale Studenti all’indirizzo: https://servizionline.unige.it/studenti/.

L'esame consiste in un colloquio individuale sul programma dell'insegnamento e sulla discussione del progetto assegnato e della relativa documentazione tecnica.

MODALITA' DI ACCERTAMENTO

L’esame consiste nella discussione di un progetto sviluppato durante le lezioni, accompagnata da un colloquio individuale sugli argomenti dell’insegnamento e dalla valutazione della documentazione tecnica prodotta.

**Discussione del progetto e colloquio individuale (circa 70% del voto)**

Questa parte dell’esame è finalizzata a verificare l’acquisizione delle competenze progettuali, metodologiche e tecniche previste dall’insegnamento. Durante la discussione verranno valutate:

* la capacità di progettare e sviluppare sistemi embedded, IoT o cyber-fisici intelligenti;
* la comprensione delle architetture software e delle soluzioni adottate;
* la capacità di integrare componenti di percezione, elaborazione intelligente e azione in un sistema coerente;
* la capacità di motivare e discutere criticamente le scelte progettuali effettuate;
* la conoscenza degli argomenti trattati nell'insegnamento, inclusi aspetti di Machine Learning, TinyML, testing, validazione, safety, security e gestione del ciclo di vita del sistema;
* la capacità di utilizzare in modo consapevole e responsabile strumenti di Intelligenza Artificiale generativa a supporto delle attività progettuali;
* la correttezza terminologica e la capacità di esposizione e argomentazione tecnica.

**Valutazione della documentazione tecnica (circa 30% del voto)**

La documentazione sarà valutata in termini di completezza, chiarezza, coerenza e qualità tecnica. Essa potrà includere specifiche di progetto, descrizione dell’architettura, modelli e diagrammi, documentazione del software, risultati delle attività di testing e validazione, nonché eventuale documentazione relativa ai modelli di Machine Learning utilizzati.

Particolare attenzione sarà dedicata alla tracciabilità delle scelte progettuali e alla documentazione dell’eventuale utilizzo di strumenti di Intelligenza Artificiale generativa durante le attività di progettazione, sviluppo e documentazione.

Le modalità operative di svolgimento dell’esame e i criteri dettagliati di valutazione saranno illustrati durante il periodo di lezione.

ALTRE INFORMAZIONI

Gli studenti con disabilità o con DSA possono fare richiesta di misure compensative/dispensative per l'esame. Le modalità saranno definite caso per caso insieme al Referente per Ingegneria del Comitato di Ateneo per il supporto agli studenti disabili e con DSA. Gli studenti che volessero farne richiesta sono invitati a contattare il docente dell'insegnamento mettendo in copia il Referente (https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.html).

Agenda 2030

Agenda 2030
Istruzione di qualità
Istruzione di qualità
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture