CODICE 86985 ANNO ACCADEMICO 2026/2027 CFU 6 cfu anno 3 INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE 9273 (L-8) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L’insegnamento introduce i principi dell’Internet of Things (IoT) e del Web of Things (WoT), mostrando come integrare dispositivi fisici e servizi Web per acquisire dati, elaborarli e intervenire sull’ambiente mediante attuatori. Attraverso attività pratiche, gli studenti affrontano la realizzazione di sistemi che collegano sensori, dispositivi embedded, servizi remoti e interfacce utente, utilizzando tecnologie quali Arduino, HTTP, API REST, JavaScript, Node.js e MongoDB. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI L’insegnamento, ispirato dal “Maker Movement”, ha l’obiettivo di incoraggiare lo studente nella realizzazione di progetti che abbiamo componenti hardware e software. Gli studenti durante l'insegnamento inventeranno, progetteranno e realizzeranno (“make”) un dispositivo seguendo il processo di progettazione ingegneristico. L'insegnamento parte da quanto gli studenti hanno appreso negli insegnamenti di “Fondamenti di Programmazione”, che introduce i concetti di programmazione procedurale C anche su microcontrollore, “Elettronica dei sistemi Digitali”, “Elettronica” e “Architetture dei Sistemi Elettronici” per realizzare prototipi che potranno integrare parti meccaniche, circuiti elettronici di controllo (costruiti attorno alla piattaforma Arduino) e applicazioni software locali e remote. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Al termine dell’insegnamento, lo studente sarà in grado di: definire i requisiti di un sistema IoT che integri sensori, attuatori, elaborazione locale, servizi remoti e interfacce accessibili da dispositivi mobili; acquisire ed elaborare dati provenienti da sensori mediante sistemi embedded e controllare attuatori; progettare e implementare API REST utilizzando HTTP e Node.js; gestire la raccolta e la persistenza dei dati su un server remoto mediante MongoDB; realizzare interfacce per la visualizzazione dei dati e l’interazione con il sistema; integrare i componenti hardware e software in un prototipo funzionante, verificandone la conformità ai requisiti; motivare le scelte progettuali, confrontando soluzioni alternative e discutendone vantaggi e limiti rispetto ai requisiti e ai vincoli del progetto; collaborare allo sviluppo di un progetto, concordando la suddivisione dei compiti, coordinando le attività e contribuendo all’integrazione dei componenti e alla risoluzione dei problemi; comunicare e documentare il lavoro svolto con un linguaggio tecnico appropriato, illustrando l’architettura del sistema, le scelte implementative e i risultati delle verifiche. PREREQUISITI Sono richieste conoscenze di base della programmazione in linguaggio C e dei principi di progettazione dei sistemi digitali. MODALITA' DIDATTICHE L’insegnamento alterna lezioni frontali ed esercitazioni pratiche. Prima delle lezioni saranno rese disponibili slide e codice sorgente a supporto della preparazione e dello studio individuale. Durante gli incontri, il docente approfondirà i concetti presentati nel materiale e ne illustrerà l’applicazione, guidando gli studenti nella progettazione, implementazione e verifica di componenti e sistemi IoT. Le esercitazioni prevedono la risoluzione di problemi applicativi e l’integrazione di dispositivi hardware e servizi software. Le attività pratiche favoriranno il confronto tra soluzioni, la collaborazione e la discussione delle difficoltà incontrate. Gli studenti saranno guidati a documentare il lavoro svolto, motivare le proprie scelte e presentare i risultati. Gli studenti potranno utilizzare il proprio computer durante le lezioni per svolgere le attività proposte. La frequenza in presenza alle lezioni e alle esercitazioni è fortemente consigliata. 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 L’insegnamento affronta i seguenti argomenti: Introduzione a IoT, WoT e physical computing: principi, architetture e integrazione tra mondo fisico e servizi digitali. Dispositivi embedded ed elaborazione locale: ruolo degli edge devices e impiego della piattaforma Arduino. Sensori e attuatori: acquisizione di misure e interazione con l’ambiente fisico. JavaScript: fondamenti del linguaggio e applicazioni nello sviluppo di sistemi IoT. HTTP: comunicazione tra dispositivi e servizi Web. Node.js: sviluppo di applicazioni e servizi lato server. API REST: principi di progettazione e implementazione delle interfacce. WoT proxy: integrazione dei dispositivi fisici con i servizi Web. Persistenza dei dati: raccolta e memorizzazione mediante database non relazionali, con riferimento a MongoDB. Sicurezza: principi di protezione dei dispositivi, delle comunicazioni e dei servizi. Interoperabilità e semantica: rappresentazione e condivisione delle informazioni tra sistemi. Interfacce utente: visualizzazione dei dati e interazione con il sistema, anche tramite dispositivi mobili. Parte del materiale didattico, incluse slide e codice sorgente delle esercitazioni, è disponibile nel repository dell’insegnamento. TESTI/BIBLIOGRAFIA Le slide, il codice sorgente e gli altri materiali didattici saranno disponibili su aul@web. Il materiale fornito, integrato dagli appunti delle lezioni e dallo svolgimento delle esercitazioni, è sufficiente per la preparazione dell’esame. Per approfondimenti si consigliano: Michael Margolis, Arduino Cookbook, O’Reilly. Dominique Guinard, Building the Web of Things, Manning. Tom Hughes-Croucher, Node: Up and Running, O’Reilly. Leonard Richardson, RESTful Web APIs, O’Reilly. Marijn Haverbeke, Eloquent JavaScript: A Modern Introduction to Programming, No Starch Press. DOCENTI E COMMISSIONI RICCARDO BERTA Ricevimento: Ricevimento su appuntamento. Gli studenti possono contattare il docente tramite e-mail o Microsoft Teams per concordare il ricevimento. LEZIONI INIZIO LEZIONI https://corsi.unige.it/corsi/9273/studenti-orario Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME L’esame consiste in una prova orale che comprende domande sugli argomenti teorici e la discussione delle esercitazioni svolte durante l’insegnamento. Lo studente dovrà dimostrare di comprendere i principi di progettazione dei sistemi IoT, con particolare riferimento alle API REST, e di saperli applicare all’integrazione di componenti hardware e software. La discussione delle esercitazioni consentirà di approfondire le soluzioni realizzate, le scelte progettuali e i risultati ottenuti. Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi possono richiedere misure compensative e/o dispensative per l’esame. Le modalità saranno definite caso per caso, nel rispetto del Regolamento di Ateneo, d’intesa con il docente e con il referente della Scuola per la disabilità e i DSA. MODALITA' DI ACCERTAMENTO La prova orale valuta la comprensione dei contenuti e la capacità di applicarli alla progettazione e realizzazione di sistemi IoT. Ulteriori indicazioni sullo svolgimento della prova e sul livello di approfondimento richiesto saranno fornite durante le lezioni. Lo studente dovrà: spiegare i concetti e le tecnologie affrontati, descrivendone il funzionamento, le condizioni di applicazione, i vantaggi e i limiti; illustrare l’architettura delle soluzioni sviluppate e le interazioni tra dispositivi, servizi e interfacce; motivare le scelte progettuali, confrontandole con possibili alternative; descrivere le verifiche effettuate, i risultati ottenuti e le modalità di risoluzione dei problemi incontrati; esporre il lavoro con chiarezza e proprietà di linguaggio tecnico. Per le attività svolte in collaborazione, lo studente dovrà inoltre illustrare il proprio contributo, la suddivisione dei compiti e le modalità di coordinamento e integrazione del lavoro. La valutazione terrà conto della correttezza e completezza delle risposte, della capacità di collegare teoria e pratica, dell’autonomia di giudizio e della chiarezza della comunicazione tecnica. ALTRE INFORMAZIONI Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento. Agenda 2030 Imprese, innovazione e infrastrutture Città e comunità sostenibili Consumo e produzione responsabili