Salta al contenuto principale
CODICE 86985
ANNO ACCADEMICO 2026/2027
CFU
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

LEZIONI

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

Agenda 2030
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture
Città e comunità sostenibili
Città e comunità sostenibili
Consumo e produzione responsabili
Consumo e produzione responsabili