CODICE 84490 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 3 INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE 9273 (L-8) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/03 LINGUA Italiano SEDE GENOVA PERIODO 2° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L'insegnamento fornisce elementi di base per la progettazione e lo sviluppo di applicazioni multimediali, nel contesto dell'Internet of Things (IoT), attraverso l'impiego di sistemi embedded e di sensori. La piattaforma di riferimento per l’insegnamento è lo smartphone che verrà utilizzato per le esercitazioni e per il progetto finale. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI L’insegnamento affronta le basi dello sviluppo software ( realizzazione di Apps) su terminali mobili Android quali i moderni smartphone o quelli relativi alla così detta "Internet of Things". Le problematiche affrontate riguardano la rappresentazione, l'elaborazione e l'acquisizione di segnali multi-sensori tra i quali l'audio, le immagini, il segnale radio (WiFi) e segnali inerziali (tramite l'accelerometro embedded del telefono). Allo stesso tempo, vengono presentate le principali tecniche di elaborazione del segnale tramite algoritmi di Machine Learning e DSP insieme alle più moderne tecniche di Deep Learning (AI e Reti Neurali). OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO L'insegnamento affronta le problematiche relative alla rappresentazione, l'elaborazione e il recupero di dati multimediali tra i quali suoni, musica, grafica, immagini e video ma altresì informazione di localizzazione o proveniente da sensori quali l'accelerometro al fine di realizzare le moderne applicazioni (App). Allo stesso tempo, all'interno dell'insegnamento vengono presentate le principali caratteristiche architetturali delle moderne reti di telecomunicazioni nella loro evoluzione verso l'Internet del futuro: integrazione tra rete fissa e mobile, separazione tra il trasporto dei dati e il controllo e gestione della rete, virtualizzazione delle funzioni di rete, flessibilità, programmabilità, efficienza energetica. La partecipazione attiva alle attività formative proposte (lezioni ed esercitazioni) e lo studio individuale permetterà agli studenti di: - comprendere ed utilizzare una terminologia corretta per l'identificazione delle principali componenti e funzionalità di app mobili multimediali implementate su sistemi embedded; - analizzare la struttura e le funzioni dell'Internet of Things; - conoscere e saper applicare adeguatamente i principali metodi per elaborare segnali e dati eterogenei acquisiti dai sensori di un sistema embedded e in particolare di uno smartphone; identificare e analizzare le componenti e le funzionalità principali di un'App per Android; - creare App Android nel contesto dell'Internet of Things implementando soluzioni basate su: Activities (o Fragments) Services Broadcast Receivers e Intents Richieste HTTP (GET, POST) Utilizzo di segnali acquisti dai sensori dello smartphone o da sensori esterni (facoltativo) Implementazione di algoritmi di Machine Learning ed Elaborazione dei Segnali PREREQUISITI Sono utili per affrontare efficacemente i contenuti dell’insegnamento le conoscenze di base acquisite negli insegnamenti di FONDAMENTI DI PROGRAMMAZIONE PER L’ELABORAZIONE DI SEGNALI e DATI, PROGRAMMAZIONE DEI SISTEMI ELETTRONICI, SISTEMI ELETTRONICI EMBEDDED e rappresentano un supporto importante le conoscenze dell'insegnamento, che si svolge parzialmente in parallelo, di ELABORAZIONE E TRASMISSIONE DI SEGNALI E IMMAGINI. MODALITA' DIDATTICHE Lezioni frontali ed esercitazioni in aula. La frequenza NON E' OBBLIGATORIA ma è fortemente consigliata. L'insegnamento prevede una prima parte di didattica frontale durante la quale verranno esposti i principali concetti teorici che verranno poi dimostrati attraverso esercitazioni congiunte (al calcolatore ed allo smartphone) per la realizzazione delle prime App propedeutiche allo sviluppo del proprio progetto di esame. In seguito è prevista anche una fase di sviluppo progettuale a gruppi. PROGRAMMA/CONTENUTO Introduzione Introduzione ai paradigmi di sviluppo di applicazioni mobili. Panoramica dell’ecosistema Android. Concetti di base di Internet of Things (IoT). Fondamenti di sviluppo Android Struttura di un progetto Android (Android Studio). Activity, Fragment, Intent. Gestione del ciclo di vita. UI/UX Design: Layout, Widgets. Task asincroni Broadcast Receivers Accesso ai sensori embedded dello smartphone Registrazione e riproduzione di audio. Acquisizione segnale inerziale (accelerometro) Acquisizione segnale radio (WiFi, Bluetooth) Cattura di immagini da fotocamera Integrazione App IoT Protocollo MQTT Paradigma client (App) - Server. Cenni teorici di Machine Learning e Deep Learning (AI). Utilizzo ed integrazione di piattaforme IoT esterne come ESP32, Arduino, Raspberry (facoltativo). Valutazione e progetto finale Sviluppo di un progetto pratico di gruppo. Presentazione e discussione del progetto. TESTI/BIBLIOGRAFIA A.B. Carlson, P.B. Crilly and J.C. Rutlege, “Communication Systems”, 4th ed., McGraw-Hill, 2002 A. V. Oppenheim, R. W. Schafer, “Elaborazione Numerica dei Segnali”, Franco Angeli J. Kurose, K. Ross, “Computer Networking: A Top-Down Approach”, 6/E, Addison-Wesley S. Tarkoma, M. Siekkinen, E. Lagerspetz, Y. Xiao, "Smartphone Energy Consumption, Modeling and Optimization", Cambridge University Press, 2014 http://developer.android.com/index.htm http://www.sprik.it/guida/Android4_2.pdf Materiale addizionale eventualmente distribuito dai docenti. Gli studenti con disturbi dell'apprendimento ("disturbi specifici di apprendimento", DSA) potranno utilizzare modalità e supporti specifici che verranno di volta in volta stabiliti d'intesa con il delegato DITEN nel Comitato di Ateneo per l’inclusione delle studentesse e degli studenti con disabilità o con DSA. DOCENTI E COMMISSIONI ANDREA SCIARRONE Ricevimento: Il ricevimento studenti è su appuntamento da concordare con il docente tramite email: andrea.sciarrone@unige.it LEZIONI INIZIO LEZIONI Verificare il sito del CORSO DI LAUREA TRIENNALE in INGEGNERIA ELETTRONICA E TECNOLOGIE DELL'INFORMAZIONE: 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 Presentazione orale di un progetto realizzato dallo studente, demo di funzionamento e relativa discussione tecnica. MODALITA' DI ACCERTAMENTO Scopo principale della prova d'esame è valutare il grado di raggiungimento degli obiettivi formativi da parte dello studente. Più nel dettaglio le modalità di accertamento delle App progettate terranno conto dei seguenti aspetti: Codice funzionante che produce risultati in linea con le specifiche fornite dal docente (requisito minimo per il superamento della prova); La app progettata deve funzionare correttamente e rispettare le specifiche assegnate. Efficacia e chiarezza nella presentazione dei risultati Lo studente deve essere in grado di giustificare con linguaggio pertinente ogni scelta progettuale fatta e tutto il codice sorgente presente nell’applicazione. Spiegazione e giustificazione dei risultati, alla luce della teoria Lo studente deve essere in grado di giustificare ogni risultato ottenuto, illustrando l’eventuale campagna di misure effettuata, l’algoritmo utilizzato, le scelte/tarature dei parametri. Stile e leggibilità del codice prodotto Anche se con peso minore, vengono valutati la “pulizia del codice”, il rispetto dei principi di programmazione orientata agli oggetti, l’uso appropriato delle interfacce, la separazione corretta dei file sorgenti. Efficienza di calcolo dei programmi. Anche se con peso minore, viene valutata la capacità dello studente di scegliere algoritmi appropriati per risolvere efficacemente il problema posto. ALTRE INFORMAZIONI Maggiori informazioni per il corso sono reperibili su la pagina AULAWEB del corso e alla pagina web: http://www.dsp.diten.unige.it/index.php/teachings/multimedia-apps-and-future-internet. Agenda 2030 Istruzione di qualità Parità di genere Imprese, innovazione e infrastrutture