78092 - LABORATORIO DI INGEGNERIA DELL'INFORMAZIONE

Anno Accademico 2025/2026

  • Docente: Andrea Giorgetti
  • Crediti formativi: 9
  • SSD: ING-INF/03
  • Lingua di insegnamento: Italiano
  • Moduli: Andrea Giorgetti (Modulo 1) Sergio Callegari (Modulo 2) Enrico Paolini (Modulo 3)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 3)
  • Campus: Cesena
  • Corso: Laurea in Ingegneria elettronica (cod. 5834)

Conoscenze e abilità da conseguire

Al termine del corso lo studente è in grado di simulare al calcolatore e caratterizzare sperimentalmente sistemi per l'elaborazione e la trasmissione dell'informazione. In particolare, lo studente è in grado di: - elaborare segnali audio e immagini; - applicare elementi di statistica inferenziale e Big Data Analytics a dati sperimentali (web, internet-of-things, sensori); - implementare tecniche Monte Carlo per la simulazione di sistemi; - utilizzare elementi di calcolo numerico per risolvere problemi nell'ambito dell'ingegneria dell'informazione; - sviluppare e programmare applicazioni per dispositivi mobili quali smartphone e tablet; - analizzare e modellare il comportamento di circuiti e sistemi elettronici mediante strumenti software di simulazione circuitale; - utilizzare software scientifico per modellare sistemi elettronici ad alto livello e come supporto alle attività di progetto. Le esercitazioni pratiche in laboratorio rappresentano una parte consistente del corso.

Contenuti

Modulo 1

Questo modulo introduce lo studente allo sviluppo di progetti completi utilizzando la l’ambiente per il calcolo numerico Matlab. La prima fase del modulo consiste nell'approfondimento di diversi aspetti del linguaggio di programmazione Matlab, con particolare enfasi alle problematiche legate alla rappresentazione dell'informazione e manipolazione dei dati, alla complessità, alla gestione dinamica della memoria. Successivamente, lo studente svolge esperienze guidate di laboratorio inerenti lo sviluppo di algoritmi in Matlab. Alcuni esempi di esperienze guidate:

- Implementazione di filtri FIR;

- Filtraggio di segnali audio;

- Analisi spettrale di segnali;

- Generazione di variabili aleatorie.

Modulo 2

Il modulo introduce lo studente alla simulazione circuitale e all’uso di ambienti di programmazione per modeling e simulazione. Viene discussa la differenza tra ambienti basati su un approccio di tipo causale o signal-flow e ambienti che usano un approccio di tipo physical-network e vengono presentati esempi basati su Spice, Simulink e Simulink+Simscape. Successivamente viene approfondito l’uso di Spice con esempi avanzati. Durante il modulo viene anche introdotto il linguaggio di programmazione Python in un ottica orientata al calcolo numerico e alla programmazione scientifica. Viene illustrato l’uso del cosiddetto SciPy-stack, ovvero le librerie di supporto per il calcolo numerico e matriciale (NumPy), per il calcolo scientifico (SciPy), per la visualizzazione (Matplotlib) e per il calcolo simbolico (SymPy). Viene inoltre mostrato come tale ambiente possa in applicazioni appropriate rappresentare un’alternativa a codice aperto ad ambienti di calcolo numerico consolidati come Matlab. In maniera consistente con la natura del corso, il materiale viene presentato facendo ampio uso di esperienze guidate di laboratorio.

Modulo 3

Questo modulo introduce lo studente allo sviluppo di progetti utilizzando il linguaggio di programmazione C. La prima fase del modulo consiste nell'approfondimento di diversi aspetti del linguaggio C, con particolare enfasi alle problematiche legate alla rappresentazione dell'informazione e manipolazione dei dati, alla complessità, alla gestione dinamica della memoria. Successivamente, lo studente esegue numerose esperienze di laboratorio inerenti lo sviluppo di progetti completi in linguaggio C.

Testi/Bibliografia

Il materiale fornito dal docente, sotto forma di file che raccolgono le diapositive usate per la didattica e di dispense e i testi delle esercitazioni di laboratorio (resi disponibili online in formato elettronico sul sito istituzionale Insegnamenti Online) rappresentano uno strumento sufficiente per lo svolgimento del modulo.

Metodi didattici

Il corso consiste in lezioni frontali, per introdurre argomenti specifici e approfondirne gli aspetti più operativi, ed esercitazioni pratiche in laboratorio. Particolare enfasi è data alle esercitazioni, che sono essenziali per poter acquisire una comprensione completa anche degli aspetti pratici relativi alla programmazione di applicazioni per dispositivi mobili. Allo scopo di motivare lo studente e stimolarne l'interesse, ciascuna esercitazione è strutturata in modo da conseguire determinati obiettivi pratici che sono anche funzionali allo svolgimento di quelle successive.

L'accesso al laboratorio richiede che lo studente abbia superato il Modulo 3 - Formazione specifica su sicurezza e salute di Ateneo.

Modalità di verifica e valutazione dell'apprendimento

Modulo 1

Una prova scritta e pratica. La prova scritta consiste nel rispondere ad una serie di domande a risposta multipla; la prova pratica consiste nella scrittura di codice Matlab per l’elaborazione di segnali e generazione di variabili aleatorie. Le esercitazioni di laboratorio sono fondamentali per poter superare la verifica finale con successo.

Modulo 2

L’apprendimento viene verificato, per quanto riguarda i fondamenti teorici, utilizzando un test a scelta multipla, integrato con quello degli altri moduli. Per quanto riguarda invece le competenze di natura pratica acquisite durante il corso, queste vengono valutate mediante la brevi relazioni da consegnare al termine di ciascuna attività svolta in laboratorio. Inoltre, viene chiesto agli studenti di svolgere autonomamente un’attività sulla base delle competenze acquisite e di documentarla. In quest’ultima relazione gli studenti sono chiamati a chiarire obiettivi e risultati ed essa dovrà contenere i codici sorgenti e/o i file di Spice utilizzati per affrontare il problema. Il lavoro può essere svolto a gruppi a patto che siano chiaramente distribuite le responsabilità.

Modulo 3

Una prova scritta e pratica. La prova scritta consiste nel rispondere ad una serie di domande a risposta multipla sugli argomenti svolti a lezione; la prova pratica consiste nella scrittura di codice C. Le esercitazioni di laboratorio sono fondamentali per poter superare la verifica finale con successo, grazie alle capacità di "problem solving" affinate durante le sessioni pratiche.

Valutazione complessiva

Nonostante l'insegnamento sia, per ragioni organizzative, suddiviso in moduli con docenti diversi, vi è un unica valutazione finale complessiva di profitto, svolta collegialmente. In particolare, le conoscenze relative ai fondamenti teorici necessari per supportare le competenze pratiche che caratterizzano il corso sono valutate in forma omogenea per i tre moduli, attraverso un test a risposta multipla diviso in tre parti. Gli studenti hanno la possibilità (e sono incoraggiati) a completare tutte le parti del test in un unica seduta, anche se viene loro data l'opzione di utilizzare più sedute per i tre moduli.
Per superare l'esame positivamente, gli studenti devono raggiungere la sufficienza negli argomenti presentati in tutti e tre i moduli. Il voto finale, viene poi ottenuto mediando tra le considerazioni dei tre docenti sulla base di un'indicazione quantitativa fornita da ciascuno di essi.

 

Strumenti a supporto della didattica

Materiale didattico, dispense, slides, esercizi ed esempi di codice disponibili in rete. Il modulo 1 prevede l'impiego di Matlab. Il modulo 2 prevede l'uso di un simulator circuitale di tipo Spice (viene suggerito LTSpice XVII), di Simulink con il pacchetto Simscape, e di un ambiente di programmazione Python 3 con lo stack SciPy (viene suggerita la distribuzione Anaconda). Il modulo 3 prevede l’uso del compilatore C.

Orario di ricevimento

Consulta il sito web di Andrea Giorgetti

Consulta il sito web di Sergio Callegari

Consulta il sito web di Enrico Paolini

SDGs

Energia pulita e accessibile Imprese innovazione e infrastrutture Città e comunità sostenibili

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.