Ingegneria Informatica e dell’Intelligenza Artificiale Applicata LM-32
Introduzione al trattamento quantistico delle informazioni
| Settore scientifico disciplinare | Numero crediti formativi (CFU) | Docente |
| FIS/03 | 6 | -- Nessun gestore -- |
PROGRAMMA DEL CORSO
Il programma è articolato in diverse UD (Unità Didattiche) pari a 1 CFU di contenuto. Per ogni UD sono previste 5 ore di didattica erogativa svolta in modalità asincrona tramite video lezioni registrate dal docente e 2 ore di didattica interattiva svolta in maniera sincrona.
UD1: Fondamenti di quantum computing
Introduzione generale, prerequisiti matematici e primi concetti fisici/informativi: algebra lineare e probabilità come base per descrivere stati quantistici, qubit e primi esempi di entanglement.
UD2: Non-località, logica e porte quantistiche
Dal teorema di Bell e i suoi significati, si passa alla logica classica come confronto, quindi alle quantum gate e a come si codifica/trasmette informazione tramite qubit, fino ai primi algoritmi.
UD3: Algoritmi chiave e implementazioni
Panoramica di due algoritmi fondamentali, poi focus su Shor e Grover e sul legame con le tecnologie del quantum computing; chiusura con realizzazione/emulazione dei computer quantistici e introduzione agli FPGA come piattaforma hardware.
UD4: VHDL: basi e logica digitale
Introduzione al VHDL, tipi e oggetti, quindi progettazione di logica combinatoria e sequenziale; chiusura sui circuiti sequenziali più comuni.
UD5: VHDL avanzato e flusso di verifica
Esempio pratico di FSM, lavoro con vettori e matrici in VHDL, introduzione alla Static Timing Analysis (STA) e infine testbench e tecniche di verification.
UD6: Laboratorio
Attività pratiche in laboratorio per applicare in ambiente Vivado i concetti di logica combinatoria e sequenziale, fino all’implementazione di operazioni aritmetiche vettoriali e matriciali per l’accelerazione dei calcoli di quantum computing.
Testi consigliati
Il docente consiglia l’integrazione del materiale fornito (videolezioni, slides, esercitazioni) con i seguenti testi, a cui il docente può fare riferimento durante le lezioni:
- Donzellini, G., Oneto, L., Ponta, D., & Anguita, D. (2018). Introduzione al progetto di sistemi digitali. Springer Milan.
- Ercegovac, M. D., Moreno, J. H., & Lang, T. (1998). Introduction to digital systems. John Wiley & Sons, Inc..
- Pong P. Chu “RTL HARDWARE DESIGN USING VHDL”
- Mark Zwolinski ”VHDL progetto di sistemi digitali”
- Douglas Perry “VHDL Programming by Example”
- Maxfield C.“The Design Warrior’s Guide to FPGAs”
- Bernhardt, Chris. Quantum computing for everyone. Mit Press, 2019.
- Bandini, Michele. "Crittografia quantistica e algoritmo di Shor." (2017).
MODALITÀ DI ESAME, PREREQUISITI, ESAMI PROPEDEUTICI
Modalità di accertamento dei risultati di apprendimento acquisiti dallo studente
Per valutate le capacità acquisite nel governare le nozioni apprese, nel creare delle connessioni con altri insegnamenti del corso di studi in maniera autonoma lo studente sarà sottoposto a una prova scritta da svolgere in presenza o a distanza e alla valutazione di un progetto pratico da consegnare prima dell’esame. Attraverso la prova scritta sarà valutata la conoscenza degli elementi di carattere teorico e pratico mentre la valutazione del progetto valuterà la capacità di applicazione pratica delle nozioni acquisite.
Modalità di esame
Al termine del corso è previsto lo svolgimento di un esame di profitto composto da una parte progettuale e da una prova teorica.
La valutazione della prova teorica andrà a fare media con la valutazione del progetto pratico richiesto. Lo svolgimento del progetto è obbligatorio e il conseguimento di una votazione sufficiente (18/30) costituisce prerequisito per l’accesso alla prova teorica.
Il progetto pratico è volto a dimostrare la capacità da parte dello studente di implementare un sistema di emulazione di gate o algoritmi di quantum computing.
Il resto dell’esame si strutturerà in un unico percorso diviso in due momenti complementari:
1. Prova intermedia
L’esonero online rappresenta la prova di valutazione principale dell’esame e il risultato ottenuto costituirà la parte preponderante del tuo voto finale. La prova si svolgerà online e consisterà in un test a risposta multipla (30 domande) con esito immediato. Il risultato rimarrà valido per un anno dalla data di svolgimento.
2. Prova finale obbligatoria in presenza
La prova finale in presenza, basata su un breve colloquio di sintesi del percorso, è obbligatoria per il completamento dell’esame, anche nel caso in cui sia stato conseguito il punteggio massimo nell'esonero online.
Questo momento conclusivo permette di migliorare il punteggio ottenuto online, aumentandolo fino a un massimo di 2 punti.
Per gli studenti che seguono la didattica interattiva sono previsti bonus sul voto dell’esame scritto, a riconoscimento della partecipazione attiva e del lavoro svolto durante il semestre. In particolare:
- +1 punto sul voto d’esame se lo studente ha seguito almeno il 50% delle lezioni erogate in modalità sincrona e ha superato i relativi test in itinere.
- +2 punti sul voto d’esame se lo studente ha seguito almeno il 75% delle lezioni sincrone e ha superato i relativi test in itinere.
I punti aggiuntivi vengono applicati solo se il voto ottenuto alla prova scritta finale è almeno pari a 18/30 e possono contribuire all’attribuzione della lode nel caso in cui il punteggio complessivo raggiunga o superi la soglia prevista per 30 e lode.
Propedeuticità
Come da regolamento del corso di studi, non sono previste propedeuticità.
Prerequisiti
Per seguire il corso con adeguata proficuità, è opportuno che lo studente abbia già superato i seguenti esami, da considerarsi prerequisiti:
· Fisica
· Algoritmi e strutture dati
· Reti logiche
· Elettronica digitale
INFORMAZIONI GENERALI
Obiettivi Formativi
L’insegnamento si propone di fornire agli studenti una solida conoscenza dei principi teorici e matematici alla base dell’elaborazione quantistica dell’informazione, introducendo i concetti di qubit, sovrapposizione, entanglement e basi di rappresentazione.
L’obiettivo è sviluppare la capacità di analizzare, progettare e implementare semplici algoritmi quantistici, comprendendone la logica operativa e le potenzialità rispetto ai corrispettivi classici.
Il corso introduce inoltre gli strumenti software per la modellazione, la sintesi, la simulazione e la verifica di circuiti quantistici, nonché le metodologie di realizzazione hardware su piattaforme FPGA mediante linguaggio VHDL.
Particolare attenzione è dedicata all’integrazione tra teoria e pratica, favorendo la comprensione del legame tra il modello quantistico e la sua implementazione digitale.
L’insegnamento contribuisce infine al potenziamento delle competenze trasversali quali l’autonomia di giudizio, la capacità di apprendimento autonomo e le abilità comunicative e progettuali.
Risultati di apprendimento attesi
Conoscenza e capacità di comprensione
Lo studente acquisisce una conoscenza strutturata dei principi fondamentali della meccanica quantistica applicati all'elaborazione dell'informazione. Comprende i concetti di qubit, sovrapposizione, entanglement e misura quantistica, nonché la loro formulazione matematica mediante algebra lineare e spazi di Hilbert. Conosce la struttura e il funzionamento dei principali algoritmi quantistici (Deutsch, Deutsch-Jozsa, Simon, Shor e Grover) e le architetture hardware per la loro implementazione su FPGA.
Capacità di applicare conoscenza e comprensione
Lo studente è in grado di applicare le conoscenze acquisite nella progettazione di semplici circuiti quantistici e nella realizzazione di gate quantistici mediante VHDL su piattaforme FPGA. Sa tradurre algoritmi quantistici in descrizioni digitali, effettuare analisi temporale e di potenza di circuiti digitali, e verificare il funzionamento attraverso simulazioni e test su hardware reale. Sviluppa competenze nell'utilizzo di strumenti software professionali per la sintesi, implementazione e verifica di sistemi digitali.
Abilità di giudizio
Lo studente sviluppa la capacità di valutare criticamente le potenzialità e i limiti del quantum computing rispetto al calcolo classico, riflettendo sulla complessità teorica e sulla fattibilità pratica. Sa riconoscere i vincoli tecnologici e fisici delle implementazioni attuali, nonché le implicazioni etiche e sociali derivanti dal controllo della sicurezza crittografica (es. minaccia agli algoritmi RSA). Integra conoscenze quantistiche, digitali e di hardware design per prendere decisioni consapevoli sulla scelta tecnologica più appropriata.
Abilità di comunicare
Lo studente è in grado di comunicare in modo chiaro e rigoroso i concetti di quantum computing a interlocutori specialisti, utilizzando il linguaggio matematico e tecnico appropriato. Sa inoltre descrivere e motivare scelte progettuali, risultati di simulazioni e implementazioni hardware con chiarezza sia orale che scritta. Sviluppa la capacità di presentare idee complesse in forma accessibile a uditori con diversi livelli di competenza tecnica.
Capacità di apprendimento
Lo studente acquisisce autonomia nel proseguire lo studio di tematiche avanzate del quantum computing e della progettazione digitale. Sviluppa la capacità di consultare autonomamente letteratura scientifica, documentazione tecnica di piattaforme hardware e software, e risorse online specializzate. Sa inoltre identificare autonomamente lacune nella propria conoscenza e integrarle mediante approfondimenti self-directed, favorendo un apprendimento consapevole e strategico.
ORGANIZZAZIONE DIDATTICA
Modalità di erogazione del corso:
L’insegnamento è interamente erogato a distanza.
Per ogni UD di 1 CFU sono previste 5 ore di didattica erogativa svolta in modalità asincrona e 2 ore di didattica interattiva svolta in maniera sincrona.
Attività didattiche previste
Le attività di didattica, suddivise tra didattica erogativa (DE) e didattica interattiva (DI), saranno costituite da 7 ore per CFU e ripartite secondo una struttura di almeno 2,5 ore di DE (tenuta in considerazione la necessità di riascolto) e di 2 ore di DI sincrona per ciascun CFU.
Attività didattica erogativa (15 ore):
- 30 lezioni frontali videoregistrate, della durata di circa 30 minuti ciascuna (tenuta in considerazione la necessità di riascolto) sempre disponibili in piattaforma.
Attività didattica interattiva (12 ore):
- 12 lezioni frontali in diretta, della durata di circa 1 ora ciascuna tenute durante l’anno accademico con replica semestrale.
Attività di autoapprendimento:
- Studio individuale del materiale fornito (videolezioni, slide, appunti, capitoli di libro di testo e materiale integrativo), con particolare attenzione alla rielaborazione personale dei concetti teorici.
- Svolgimento autonomo di esercizi numerici e di progettazione (analisi di circuiti, sintesi di reti logiche, semplici descrizioni VHDL), inclusa la revisione degli esempi presentati a lezione e la preparazione a quesiti a scelta multipla.
- Utilizzo dei test di autovalutazione disponibili in piattaforma per monitorare il proprio livello di comprensione e orientare lo studio in vista dell’esame.
- Preparazione di schemi riassuntivi, mappe concettuali e formulari essenziali a supporto del ripasso.
L'articolazione tra DE e DI, per ciascuna unità didattica, sarà organizzata coerentemente con gli obiettivi formativi specifici dell’insegnamento.
Ricevimento studenti
Nella pagina dell’insegnamento, sezione “Ricevimento on line, vengono predisposti gli incontri con gli studenti in videoconferenza.
Gli studenti possono concordare un appuntamento effettuando una richiesta alla mail istituzionale del docente sergio.spano@uniroma5.it
Lezioni
Introduzione al quantum computing
Algebra lineare: i vettori
Probabilità e basi associate
Qubit e non entangled Qubits
Entanglement
Il teorema di Bell
Logica classica
I Quantum gate
Trasmettere informazioni tramite i Qubit
I primi algoritmi quantistici
Due algoritmi fondamentali del quantum computing
Algoritmo di Shor
Algoritmo di Grover e le tecnologie del quantum computing
Realizzazione ed emulazione dei computer quantistici
Field Programmable Gate Arrays
Introduzione al VHDL
Oggetti e tipi VHDL
Logica Combinatoria in VHDL
Logica Sequenziale in VHDL
I più comuni circuiti sequenziali