Salta al contenuto principale
CODICE 106802
ANNO ACCADEMICO 2022/2023
CFU
SETTORE SCIENTIFICO DISCIPLINARE ING-INF/01
LINGUA Italiano (Inglese a richiesta)
SEDE
  • GENOVA
PERIODO 2° Semestre
MODULI Questo insegnamento è un modulo di:
MATERIALE DIDATTICO AULAWEB

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Il corso intende fornire gli elementi fondamentali di edge computing, con particolare attenzione alla programmazione avanzata di microcontrollori. Gli argomenti trattati riguardano la conversione analogico-digitale, i protocolli di comunicazione, l’utilizzo di schede dedicate (es. MEMS), i sistemi operativi embedded. Ogni argomento è trattato attraverso numerosi esempi ed esercizi.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Alla conclusione dell’insegnamento, lo studente conoscerà gli elementi fondamentali di edge computing, sarà in grado di sviluppare applicazioni su microcontrollore, gestire le periferiche, la temporizzazione, la conversione analogico-digitale, i protocolli di comunicazione, utilizzare e programmare schede sensori, i sistemi operativi real-time embedded. Al termine dell’insegnamento lo studente discuterà e svilupperà un progetto, utilizzando ed applicando in pratica le nozioni e gli esercizi affrontati nell’insegnamento 

MODALITA' DIDATTICHE

Lezioni frontali esercizi in aula con ausilio di slide, computer, scheda microcontrollore, componenti elettronici e sensori, sviluppo di progetti ed esercitazioni laboratoriali, discussione e realizzazione di progetti didattici complessi.

PROGRAMMA/CONTENUTO

Fondamenti di Edge Computing

  • Architetture Edge computing e applicazioni
  • Piattaforme per l’implementazione di sistemi basati sul paradigma Edge computing,
  • Ambienti di sviluppo software/hardware per microcontrollori, interfacce e sensori
  • Applicazioni Machine learning

Microcontrollori ed applicazioni

  • Funzioni Base (GPIO, Interrupt, DMA) 
  • Comunicazione (UART/USART, I2C, SPI)
  • Clock tree
  • Timers
  • ADC/DAC
  • FreeRTOS
    • Gestione della memoria
    • Multitasking
    • Scheduling
    • Code
    • Software timers
    • Interrupt
    • Sincronizzazione (semafori, mutex, eventi)
  • Applicazioni di machine learning / IoT

TESTI/BIBLIOGRAFIA

IoT and Edge Computing for Architects, 2nd ed. di Perry Lea, ed. Packt Publishing

 

Mastering STM32, 2nd ed. di C. Noviello, https://www.carminenoviello.com/mastering-stm32/
 

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow,  3rd  ed. di A. Géron, Ed. O’Reilly

https://github.com/ageron/handson-ml2  

 

DOCENTI E COMMISSIONI

Commissione d'esame

MARCO RAGGIO (Presidente)

FRANCESCO BELLOTTI (Presidente Supplente)

RICCARDO BERTA (Presidente Supplente)

LEZIONI

Orari delle lezioni

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

ESAMI

MODALITA' D'ESAME

L’esame consiste nello sviluppo di in un progetto applicativo da concordare con il docente e discussione orale. Nell’impegno richiesto per il progetto, sara’ tenuto conto di necessita’ specifiche degli studenti lavoratori. Agli studenti con disturbi specifici di apprendimento (DSA) sarà consentita l’adozione di specifiche modalità e supporti che saranno stabiliti caso per caso in accordo col Delegato dei corsi d’ingegneria nella Commissione per l’inclusione di studenti con disabilità.

MODALITA' DI ACCERTAMENTO

Durante la prova orale lo studente, sulla base del progetto sviluppato, dovrà mostrare la comprensione degli argomenti affrontati nel corso, discutere le scelte progettuali, con l’ausilio del computer e delle schede elettroniche utilizzate a lezione, analizzare i risultati ottenuti.

Calendario appelli

Data appello Orario Luogo Tipologia Note
04/01/2023 15:00 GENOVA Orale
18/01/2023 15:00 GENOVA Orale
15/02/2023 15:00 GENOVA Orale
14/06/2023 15:00 GENOVA Orale
28/06/2023 15:00 GENOVA Orale
12/07/2023 15:00 GENOVA Orale
26/07/2023 15:00 GENOVA Orale
16/08/2023 15:00 GENOVA Orale
30/08/2023 15:00 GENOVA Orale