Programma · a.a. 2026/2027

Programma del corso

Tutto ciò che il corso copre, dal primo qubit all'architettura del quantum Internet, è incluso come riferimento ufficiale per l'anno accademico.

90 ore di didattica frontale4 sessioni settimanali da 2 oreAlmeno una sessione di laboratorio a settimanaQiskitQuantumSavory.jl

01

Motivazione

Il quantum computing è un paradigma computazionale emergente che sfrutta i principi della meccanica quantistica per elaborare l'informazione in modi fondamentalmente diversi da quelli dei computer classici. Sfruttando fenomeni come sovrapposizione, interferenza ed entanglement, gli algoritmi quantistici possono offrire vantaggi significativi per specifici compiti computazionali, tra cui la fattorizzazione di interi, la simulazione quantistica, l'ottimizzazione e la ricerca.

Il rapido progresso dell'hardware quantistico è stato accompagnato dallo sviluppo di ecosistemi software sempre più sofisticati. Oggi, software development kit come Qiskit consentono ai programmatori di progettare, simulare, testare ed eseguire programmi quantistici sia su simulatori classici sia su processori quantistici. Di conseguenza, la programmazione quantistica sta emergendo come una nuova disciplina all'intersezione tra informatica, ingegneria del software, matematica e scienza dell'informazione quantistica.

Allo stesso tempo, una seconda frontiera tecnologica sta prendendo forma: il quantum Internet. Mentre l'Internet classico consente lo scambio di informazione digitale, le reti quantistiche sono progettate per distribuire stati quantistici ed entanglement tra nodi geograficamente separati. Tali capacità aprono la strada ad applicazioni prive di controparte classica, tra cui la comunicazione quantum-secure, il calcolo quantistico distribuito, il blind quantum computing e le reti di sensori quantistici.

La visione di lungo periodo è la creazione di reti quantistiche su larga scala che interconnettano processori, memorie e sensori quantistici attraverso una nuova generazione di infrastrutture di comunicazione. Realizzare questa visione richiede lo sviluppo di nuove architetture, protocolli e tecnologie, tra cui i quantum repeater, i meccanismi di distribuzione dell'entanglement, il teletrasporto quantistico e i protocolli di controllo delle reti quantistiche.

Con la progressiva maturazione delle tecnologie quantistiche, gli ingegneri informatici e gli sviluppatori software avranno sempre più bisogno di comprendere non solo come funzionano i computer quantistici, ma anche come le applicazioni quantistiche possano essere progettate, implementate e distribuite su sistemi quantistici interconnessi.

Pensato per gli studenti di Computer Engineering, questo corso di livello intermedio sviluppa le conoscenze e le competenze pratiche necessarie per programmare i computer quantistici, implementare protocolli di comunicazione quantistica e comprendere le architetture alla base delle future reti quantistiche.

02

Descrizione del corso

Questo corso propone uno studio di livello intermedio del quantum computing e del quantum networking da una prospettiva di ingegneria del software. Introduce i concetti fondamentali dell'elaborazione dell'informazione quantistica, i principi alla base dei sistemi di comunicazione quantistica e le metodologie necessarie per progettare e implementare software e protocolli quantistici.

Il corso combina fondamenti teorici ed esperienza pratica di programmazione. Gli argomenti includono stati e operazioni quantistiche, algoritmi quantistici, protocolli di comunicazione quantistica, modelli di rumore quantistico, correzione degli errori quantistici e i principi architetturali del quantum Internet. Particolare enfasi è posta sulla comprensione di come l'informazione quantistica possa essere elaborata, trasmessa, protetta e sfruttata sia in computer quantistici isolati sia in sistemi quantistici interconnessi.

Una componente significativa del corso è dedicata allo sviluppo software. Attraverso lezioni, esercitazioni guidate e le attività pratiche del Laboratorio di Quantum Software, gli studenti imparano a implementare, testare, fare debug e analizzare algoritmi quantistici e protocolli di quantum networking utilizzando framework software moderni.

Il Laboratorio di Quantum Software utilizza Qiskit, l'SDK Python open-source di IBM per il quantum computing, e QuantumSavory.jl, un framework Julia per la simulazione e lo studio di sistemi e reti quantistiche. Gli studenti sviluppano programmi eseguibili su simulatori e, quando le risorse sono disponibili, su processori quantistici reali.

Risultati di apprendimento

Al termine del corso, gli studenti saranno in grado di:

  • modellare e manipolare l'informazione quantistica utilizzando il formalismo matematico della meccanica quantistica
  • progettare e implementare algoritmi quantistici utilizzando i framework software quantistici contemporanei
  • analizzare gli effetti del rumore e delle imperfezioni nei sistemi quantistici
  • comprendere i principi e i meccanismi della correzione degli errori quantistici
  • implementare e valutare protocolli di comunicazione quantistica
  • modellare e simulare reti quantistiche e architetture di quantum Internet
  • valutare criticamente le opportunità e i limiti delle tecnologie quantistiche attuali ed emergenti

03

Ambito e focus

Questo corso adotta una prospettiva orientata al software sul quantum computing e sul quantum networking. Il suo obiettivo primario è fornire agli studenti gli strumenti concettuali e pratici necessari per progettare, implementare e analizzare algoritmi quantistici e protocolli di comunicazione quantistica.

I computer e le reti quantistiche sono invece trattati come sistemi programmabili il cui comportamento può essere modellato, analizzato e sfruttato attraverso il software. L'enfasi è quindi posta su elaborazione dell'informazione quantistica, programmazione quantistica, algoritmi quantistici, protocolli di comunicazione quantistica, correzione degli errori quantistici e architetture di rete quantistiche.

04

Prerequisiti

Gli studenti che si iscrivono a questo corso devono possedere:

  • una solida preparazione in algebra lineare, inclusi spazi vettoriali, operatori lineari, matrici, autovalori e autovettori, trasformazioni di base, prodotti tensoriali e decomposizione spettrale
  • buona padronanza della programmazione in Python
  • una comprensione di base della complessità computazionale e dell'analisi degli algoritmi, incluse la notazione O-grande e le classi di complessità P e NP

05

Laboratorio di Quantum Software

La componente di laboratorio del corso offre esperienza pratica con i framework software quantistici e gli strumenti di sviluppo contemporanei. Il suo obiettivo primario è colmare il divario tra concetti teorici e implementazione pratica attraverso la progettazione, l'esecuzione e l'analisi di programmi quantistici e protocolli di quantum networking.

Gli studenti lavorano con due ambienti software complementari. Qiskit, l'SDK Python open-source di IBM, è utilizzato per sviluppare, simulare ed eseguire algoritmi quantistici su simulatori e, quando le risorse sono disponibili, su processori quantistici reali. QuantumSavory.jl, un framework Julia per la simulazione di sistemi e reti quantistiche, è utilizzato per modellare protocolli di comunicazione quantistica, meccanismi di distribuzione dell'entanglement e architetture di quantum Internet.

Il Laboratorio di Quantum Software enfatizza le pratiche di ingegneria del software, tra cui progettazione dei programmi, debugging, validazione, analisi delle prestazioni e riproducibilità. Particolare attenzione è dedicata alla comprensione di come i concetti teorici dell'informazione quantistica si traducano in software eseguibile.

06

Esame

La valutazione si basa su un esame orale in due parti — un circuito quantistico da analizzare, poi domande teoriche — e su un progetto sviluppato con Qiskit e/o QuantumSavory.jl. Regole, domande di esempio e progetti passati sono nella pagina Esame e Progetti.

Dettagli d'esame, regole del progetto, domande di esempio e progetti passati

07

Programma dettagliato

Due percorsi, sviluppati fianco a fianco.

Gli argomenti di dettaglio sono riportati in inglese, la lingua di erogazione del corso.

Il corso è organizzato come un unico percorso formativo integrato che unisce i Fondamenti teorici e un Laboratorio di Quantum Software. Il laboratorio non è né indipendente né accessorio: via via che i concetti teorici vengono introdotti, essi sono tradotti in codice, esplorati tramite simulazione e, quando possibile, provati su hardware quantistico. Sebbene i contenuti delle due componenti siano presentati separatamente qui sotto per chiarezza, essi procedono in parallelo e si completano e rafforzano a vicenda senza soluzione di continuità.

Il programma è organizzato in unità numerate identificate dalle lettere T e L: T indica i Fondamenti teorici, L il Laboratorio di Quantum Software.

Fondamenti teorici18 unità

1TFondamenti di quantum computing e sistemi a singolo qubit6 argomenti
  • Course Overview and Learning Objectives
  • From Classical Bits to Quantum Bits
  • The Qubit as the Fundamental Unit of Quantum Computation
  • Examples of Physical Qubit Realizations
  • Postulate I: Quantum States and State Representation
  • Mathematical Description of a Qubit
2TFondamenti matematici del quantum computing17 argomenti
  • Complex Vector Spaces
  • Hilbert Spaces
  • Dirac (Bra-Ket) Notation
  • Linear Independence and Basis Representations
  • Linear Operators and Matrix Representations
  • Inner Products and Outer Products
  • The Pauli Operators
  • The Gram–Schmidt Orthogonalization Procedure
  • Eigenvalues, Eigenvectors, and Eigenspaces
  • Adjoint, Hermitian, and Unitary Operators
  • Spectral Decomposition of Hermitian Operators
  • Positive and Positive Semidefinite Operators
  • Tensor Products and Composite Systems
  • Functions of Operators
  • Commutators and Anticommutators
  • Polar Decomposition
  • Singular Value Decomposition (SVD)
3TSfera di Bloch e misura di singolo qubit6 argomenti
  • Bloch Sphere Representation
  • Single-Qubit Measurement
  • Geometric Interpretation
  • Postulate III: Single-Qubit Measurement
  • Measurements in Bases Other than the Computational Basis
  • Single-Qubit Measurement Implications
4TGate quantistici a singolo qubit7 argomenti
  • Unitarity and Reversibility of Quantum Gates
  • Identity Gate
  • Pauli X, Z, and Y Gates
  • S, T, and H Gates
  • Global Phase and Relative Phase
  • Rotation About x-, y-, and z-axes in the Bloch Sphere
  • Postulate II: The Time Evolution of the State of a Closed Quantum System: the Schrödinger Equation
5TSistemi multi-qubit ed entanglement quantistico12 argomenti
  • Postulate IV: Composite Quantum Systems
  • Tensor Products and Multi-Qubit State Spaces
  • Representing Multi-Qubit Quantum States
  • Hermitian Operators and the Measurement Formalism
  • Observables and Quantum Measurements
  • Commuting and Non-Commuting Observables
  • The Heisenberg Uncertainty Principle
  • Measurements on Multi-Qubit Systems
  • Bipartite Entanglement
  • Multipartite Entanglement
  • Entanglement as a Computational Resource
  • Monogamy of Entanglement
6TIl modello di calcolo a circuiti quantistici9 argomenti
  • Quantum Circuits as Computational Processes
  • Multi-Qubit Quantum Gates
  • Controlled Quantum Gates
  • Universal Quantum Gate Sets
  • Quantum Circuit Decomposition
  • Quantum Circuit Complexity
  • The No-Cloning Theorem
  • Quantum Measurements within the Circuit Model
  • From Quantum Algorithms to Quantum Circuits
7TTeletrasporto quantistico e superdense coding7 argomenti
  • Entanglement as a Resource for Quantum Communication
  • Bell States and Bell-State Measurements
  • Quantum Teleportation
  • Classical Communication and Feed-Forward Corrections
  • Resource Analysis of the Teleportation Protocol
  • Superdense Coding
  • Resource Analysis of the Superdense Coding Protocol
8TFondamenti degli algoritmi quantistici9 argomenti
  • Quantum Parallelism
  • Quantum Interference
  • Phase Kickback
  • Quantum Oracles
  • The Deutsch Problem
  • The Deutsch Algorithm
  • The Deutsch–Jozsa Problem
  • The Deutsch–Jozsa Algorithm
  • From Classical to Quantum Algorithm Design
9TQuantum Fourier Transform, phase estimation e order finding8 argomenti
  • The Quantum Fourier Transform (QFT)
  • The Inverse Quantum Fourier Transform
  • Quantum Phase Estimation (QPE)
  • Eigenvalue Estimation with Quantum Circuits
  • Period Finding
  • The Order-Finding Problem
  • Shor's Order-Finding Algorithm
  • Applications of Quantum Phase Estimation
10TRicerca quantistica e amplitude amplification8 argomenti
  • Unstructured Search Problems
  • Quantum Oracles for Search
  • Amplitude Amplification
  • Grover's Search Algorithm
  • Geometric Interpretation of Grover's Algorithm
  • Multiple-Solution Search Problems
  • Quantum Counting
  • Applications and Limitations of Quantum Search
11TQuantum Key Distribution7 argomenti
  • Security from the Laws of Quantum Mechanics
  • Principles of Quantum Key Distribution
  • The BB84 Protocol
  • The B92 Protocol
  • Entanglement-Based Quantum Key Distribution
  • Bell Inequalities and the CHSH Test
  • The E91 Protocol
12TStati misti e formalismo dell'operatore densità10 argomenti
  • Limitations of the State Vector Formalism
  • Statistical Ensembles of Quantum States
  • Pure and Mixed Quantum States
  • Density Operators
  • Quantum States in the Density Operator Formalism
  • Trace and Partial Trace
  • Reduced Density Operators
  • Properties of Density Operators
  • Single-Qubit Mixed States and the Bloch Ball
  • Applications of the Density Operator Formalism
13TOperazioni quantistiche e modelli di rumore16 argomenti
  • Limitations of Closed-System Evolution
  • Open Quantum Systems
  • Quantum Operations
  • Environments and Quantum Operations
  • The Operator-Sum Representation
  • Kraus Operators
  • Quantum Channels
  • Single-Qubit Noise Models
    • Bit-Flip Channel
    • Phase-Flip Channel
    • Depolarizing Channel
    • Amplitude-Damping Channel
    • Phase-Damping Channel
  • Geometric Interpretation of Quantum Channels
  • Applications of Quantum Operations
  • Introduction to Quantum State Tomography
14TMisure di distanza e fidelity nell'informazione quantistica9 argomenti
  • Distance Measures for Classical Information
  • Comparing Quantum States
  • Trace Distance
  • Quantum State Fidelity
  • Fidelity Between Pure and Mixed States
  • Comparing Quantum Channels
  • Process Fidelity
  • Performance Evaluation of Quantum Systems
  • Applications of Fidelity in Quantum Computing and Quantum Communications
15TCorrezione degli errori quantistici9 argomenti
  • Why Quantum Error Correction Is Necessary
  • Challenges of Protecting Quantum Information
  • The Three-Qubit Bit-Flip Code
  • The Three-Qubit Phase-Flip Code
  • The Shor Code
  • Syndrome Extraction and Error Detection
  • Principles of Quantum Error Correction
  • The Knill–Laflamme Conditions
  • Limitations and Practical Challenges of Quantum Error Correction
16TFondamenti del Quantum Internet9 argomenti
  • From the Classical Internet to the Quantum Internet
  • Architecture of a Quantum Network
  • Quantum Nodes, Memories, and Communication Links
  • Entanglement Distribution Protocols
  • Entanglement Swapping
  • Quantum Repeaters
  • End-to-End Entanglement Distribution
  • Event-Driven Protocol Execution
  • Performance Metrics for Quantum Networks
17TProtocolli di purificazione dell'entanglement9 argomenti
  • Imperfect Entanglement in Quantum Networks
  • Fidelity of Entangled States
  • Werner States
  • Principles of Entanglement Purification
  • The BBPSSW Protocol
  • The DEJMPS Protocol
  • Resource Trade-Offs in Entanglement Purification
  • Entanglement Purification and Quantum Repeaters
  • The Role of Entanglement Purification in the Quantum Internet
18TCalcolo quantistico basato sulla misura e blind quantum computation8 argomenti
  • Beyond the Quantum Circuit Model
  • Graph States as Computational Resources
  • Principles of Measurement-Based Quantum Computation
  • Adaptive Measurements and Feed-Forward Operations
  • Universal Quantum Computation with Graph States
  • Brickwork States
  • Blind Quantum Computation
  • The Broadbent–Fitzsimons–Kashefi (BFK) Protocol

Laboratorio di Quantum Software8 unità

1LProgrammazione quantistica con Qiskit1T–4T10 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 1T–4T.

  • Quantum Programming in the Era of Artificial Intelligence
  • Developing with Large Language Models and Coding Agents
  • The IBM Quantum Platform
  • The Qiskit Open-Source SDK
  • Installing and Configuring the Qiskit Environment
  • Building and Visualizing Quantum Circuits
  • Exporting and Importing OpenQASM 3 Programs
  • Simulating Quantum Circuits with Qiskit Aer
  • Implementing Single-Qubit Gates and Measurements
  • Visualizing Single-Qubit States on the Bloch Sphere
2LCircuiti multi-qubit ed entanglement quantistico con Qiskit5T–6T9 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 5T–6T.

  • Working with Multi-Qubit Registers and Qubit Ordering
  • Preparing Multi-Qubit Superposition States
  • Preparing Bell and GHZ States
  • Implementing Multi-Qubit and Controlled Quantum Gates
  • Decomposing Circuits into Universal Gate Sets
  • Measuring Observables in Different Bases
  • Demonstrating the No-Cloning Theorem through Quantum Circuits
  • Computing Reduced States and Entanglement Diagnostics
  • Profiling Circuit Depth, Width, and Gate Count
3LDai circuiti quantistici all'esecuzione quantistica6T9 argomenti

Traduce in codice i concetti teorici sviluppati nell'Unità 6T.

  • The Qiskit Execution Model: Map, Optimize, Execute, Post-Process
  • Selecting Backends: Simulators and Quantum Processors
  • Inspecting Backend Targets and Hardware Constraints
  • Transpiling Circuits with Preset Optimization Levels
  • Analyzing Instruction Set Architecture (ISA) Circuits
  • Running the Sampler and Estimator Primitives
  • Managing Jobs, Batches, and Sessions on the IBM Quantum Compute Service
  • Executing Quantum Programs on IBM Quantum Hardware
  • Ensuring Reproducibility: Shots, Seeds, and Metadata
4LAlgoritmi quantistici con Qiskit8T–10T9 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 8T–10T.

  • Implementing Quantum Oracles
  • Observing Quantum Interference and Phase Kickback
  • Implementing the Deutsch and Deutsch–Jozsa Algorithms
  • Building the Quantum Fourier Transform Circuit
  • Running Quantum Phase Estimation
  • Simulating Period Finding and Order Finding
  • Implementing Grover's Search and Amplitude Amplification
  • Exploring Multiple-Solution Search and Quantum Counting
  • Benchmarking Scalability: Depth, Shots, and Result Quality
5LComunicazione quantistica e Quantum Key Distribution con Qiskit7T e 11T8 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 7T e 11T.

  • Preparing Bell States and Implementing Bell-State Measurements
  • Implementing Quantum Teleportation with Dynamic Circuits
  • Implementing Superdense Coding
  • Analyzing Protocol Resources: Qubits, Ebits, and Classical Bits
  • Implementing the BB84 Protocol
  • Implementing the CHSH Test and the E91 Protocol
  • Simulating Eavesdropping and Estimating the Quantum Bit Error Rate
  • Evaluating Key Distribution Performance Under Noise
6LModelli di rumore, fidelity e correzione degli errori quantistici con Qiskit12T–15T9 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 12T–15T.

  • Computing Density Matrices and Reduced Density Operators
  • Visualizing Mixed States in the Bloch Ball
  • Implementing Quantum Channels with Kraus Operators
  • Building Custom and Hardware-Calibrated Noise Models
  • Running Quantum State and Process Tomography
  • Estimating Trace Distance, State Fidelity, and Process Fidelity
  • Applying Error Suppression and Error Mitigation
  • Implementing the Three-Qubit Bit-Flip and Phase-Flip Codes
  • Simulating the Shor Code: Error Injection and Recovery
7LSimulazione di reti quantistiche con QuantumSavory.jl16T9 argomenti

Traduce in codice i concetti teorici sviluppati nell'Unità 16T.

  • From Quantum Computing to Quantum Networking
  • Getting Started with the Julia Programming Language
  • Setting Up QuantumSavory.jl and Its Simulation Backends
  • Building Quantum Registers and Register Networks
  • Implementing Quantum Channels and Classical Message Passing
  • Configuring Noise and Decoherence Models for Quantum Memories
  • Running Event-Driven Simulations and Synchronizing Protocols
  • Modeling Quantum Nodes and Elementary Networks
  • Visualizing and Evaluating Network Simulations
8LQuantum Internet e graph states con QuantumSavory.jl16T–18T10 argomenti

Traduce in codice i concetti teorici sviluppati nelle Unità 16T–18T.

  • Implementing Entanglement Distribution Protocols
  • Simulating Entanglement Swapping and Entanglement Tracking
  • Building Quantum Repeater Chains with Cutoff Policies
  • Evaluating End-to-End Entanglement Distribution
  • Modeling Quantum Internet Architectures: Chains, Grids, and Switches
  • Generating Noisy Entangled States and Werner States
  • Running Entanglement Purification: BBPSSW and DEJMPS
  • Analyzing Fidelity Gain Versus Resource Cost
  • Preparing Graph States for Measurement-Based Computation
  • Simulating Blind Quantum Computation Scenarios

08

Riferimenti bibliografici

Quantum Computing

I testi sono elencati in ordine di difficoltà crescente: base, intermedio e avanzato.

  • Introduction to Classical and Quantum Computing

    Thomas G. Wong · 2022

    Base
  • An Introduction to Quantum Computing

    Phillip Kaye, Raymond Laflamme, Michele Mosca · Oxford University Press · 2007

    Intermedio
  • Quantum Computation and Quantum Information

    Michael A. Nielsen, Isaac L. Chuang · Cambridge University Press, Cambridge · 2010

    Avanzato

Quantum Internet

  • Quantum Networking

    Rodney Van Meter · ISTE Ltd and John Wiley & Sons, Inc. · 2014

  • The Quantum Internet — The Second Quantum Revolution

    Peter P. Rohde · Cambridge University Press · 2021

  • The Quantum Internet (Technical Version)

    Peter P. Rohde, Zixin Huang, Yingkai Ouyang, He-Liang Huang, Zu-En Su, et al. · arXiv:2501.12107 · 2025

    arxiv.org

La scatola di Schrödinger

In questa scatola è sigillato un gatto, in sovrapposizione di |vivo⟩ + |morto⟩. Aprirla è una misura — lo stato deve collassare.