CODICE | 86985 |
---|---|
ANNO ACCADEMICO | 2022/2023 |
CFU |
|
SETTORE SCIENTIFICO DISCIPLINARE | ING-INF/01 |
LINGUA | Italiano |
SEDE |
|
PERIODO | 2° Semestre |
MATERIALE DIDATTICO | AULAWEB |
L'insegnamento presenta il tema generale di "Internet of Thing" come paradigma della stretta relazione tra mondo fisico e Web, in cui le tecnologie Web (HTTP, REST) possono essere impiegate per reccogliere informazioni e attuare decisioni nel mondo reale.
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 il corso inventeranno, progetteranno e realizzeranno (“make”) un dispositivo seguendo il processo di progettazione ingegneristico. Il corso 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.
Scopo dell'insegnamento è fornire le basi per la progettazione e lo sviluppo di sistemi hardware/software che partendo dall’acquisizione di informazioni sul mondo reale tramite sensori arrivino alla memorizzazione di informazioni su un database ospitato nel Cloud. Lo studente dovrà conoscere il concetto di API REST e lo dovrà saper mettere in pratica sfruttando gli strumenti HTTP, NodeJS e MongoDB. Al termine dell’insegnamento, lo studente sarà in grado di progettare e realizzare un sistema hardware/software completo nell’ambito IoT.
Lo studente deve possedere conoscenze di base di programmazione e di progettazione di sistemi digitali.
L’insegnamento è costruito in parte da lezioni frontali e in parte da esercitazioni pratiche. In particolare, agli studenti saranno forniti contenuti, nella forma di slides corredate da video-tutorial di spiegazione, che potranno fruire prima delle lezioni frontali; durante le quali il docente applicherà i contenuti a problemi complessi, approfondirà gli argomenti trattati, seguirà la produzione di elaborati da parte degli studenti suddivisi in gruppi e discuterà con loro delle principali difficoltà incontrate.
Gli studenti possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante le esercitazioni, gli studenti devono affrontare al calcolatore problemi reali che possono essere risolti applicando le tecniche viste nei tutorial e approfondite durante le lezioni frontali.
Il seguente elenco riporta i contenuti affrontati durante l’insegnamento, i contenuti possono essere scaricati al seguente link: https://bit.ly/unige_makers
01 - Introduction to IoT, WoT and Physical Computing
02 - JavaScript
03 - HTTP
04 - NodeJS
05 - REST API
06 - WoT Proxy
07 - Persisting Data
08 - Unit Testing
09 - Securing
10 - Interoperability and Semantic
Altri argomenti:
A - The Arduino Platform
B - Serial Communication
C - Sensors
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
Ricevimento: Il docente riceve su appuntamento, per prendere appuntamento è possibile contattare il docente tramite Microsoft Teams (preferibilmente) o tramite email a riccardo.berta@unige.it
RICCARDO BERTA (Presidente)
ALESSANDRO DE GLORIA
FRANCESCO BELLOTTI (Presidente Supplente)
L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.
L'esame consiste in una interrogazione orale sugli argomenti teorici presentati a lezione e nel commento delle esercitazioni svolte durante le lezioni. In particolare, lo studente deve dimostrare di aver compreso appieno i concetti alla base dello sviluppo di API secondo il paradigma RESTful e di saperli applicare alla progettazione e implementazione di applicazioni IoT.
Durante l'orale, il docente chiederà allo studente di illustrare i concetti imparati a lezione. Per ogni concetto, lo studente dovrà, oltre alla definizione, descrivere le condizioni per la sua applicazione, gli eventuali vantaggi e svantaggi. Nel commentare le esercitazioni realizzate durante l’insegnamento, allo studente verrà richiesto di descrivere le scelte progettuali compiute, le possibili alternative scartate e le motivazioni.
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
17/02/2023 | 09:00 | GENOVA | Esame su appuntamento | Esame su appuntamento. Contattare il docente |
15/09/2023 | 09:00 | GENOVA | Esame su appuntamento | Esame su appuntamento. Contattare il docente |