Program · a.y. 2026/2027

Course Program

Everything the course covers, from the first qubit to the architecture of the quantum Internet, is included as an official reference for the academic year.

90 contact hours4 × 2-hour sessions per weekAt least one lab session per weekQiskitQuantumSavory.jl

01

Motivation

Quantum computing is an emerging computational paradigm that exploits the principles of quantum mechanics to process information in ways that are fundamentally different from those of classical computers. By harnessing phenomena such as superposition, interference, and entanglement, quantum algorithms can provide significant advantages for specific computational tasks, including integer factorization, quantum simulation, optimization, and search.

The rapid progress of quantum hardware has been accompanied by the development of increasingly sophisticated software ecosystems. Today, software development kits such as Qiskit enable programmers to design, simulate, test, and execute quantum programs on both classical simulators and quantum processors. As a result, quantum programming is emerging as a new discipline at the intersection of computer science, software engineering, mathematics, and quantum information science.

At the same time, a second technological frontier is taking shape: the quantum Internet. While the classical Internet enables the exchange of digital information, quantum networks are designed to distribute quantum states and entanglement among geographically separated nodes. Such capabilities open the way to applications that have no classical counterpart, including quantum-secure communication, distributed quantum computing, blind quantum computing, and quantum sensing networks.

The long-term vision is the creation of large-scale quantum networks interconnecting quantum processors, memories, and sensors through a new generation of communication infrastructures. Achieving this vision requires the development of novel architectures, protocols, and technologies, including quantum repeaters, entanglement distribution mechanisms, quantum teleportation, and quantum network control protocols.

As quantum technologies continue to mature, computer engineers and software developers will increasingly need to understand not only how quantum computers operate, but also how quantum applications can be designed, implemented, and deployed across interconnected quantum systems.

Designed for Computer Engineering students, this intermediate-level course develops the knowledge and practical skills required to program quantum computers, implement quantum communication protocols, and understand the architectures underlying future quantum networks.

02

Course description

This course provides an intermediate-level study of quantum computing and quantum networking from a software engineering perspective. It introduces the fundamental concepts of quantum information processing, the principles underlying quantum communication systems, and the methodologies required to design and implement quantum software and protocols.

The course combines theoretical foundations with practical programming experience. Topics include quantum states and operations, quantum algorithms, quantum communication protocols, quantum noise models, quantum error correction, and the architectural principles of the quantum Internet. Particular emphasis is placed on understanding how quantum information can be processed, transmitted, protected, and exploited in both standalone quantum computers and interconnected quantum systems.

A significant component of the course is devoted to software development. Through lectures, guided exercises, and the hands-on Quantum Software Laboratory, students learn how to implement, test, debug, and analyze quantum algorithms and quantum networking protocols using modern software frameworks.

The Quantum Software Laboratory makes use of Qiskit, IBM's open-source Python SDK for quantum computing, and QuantumSavory.jl, a Julia framework for the simulation and study of quantum systems and quantum networks. Students develop programs that can be executed on simulators and, whenever resources are available, on real quantum processors.

Learning outcomes

Upon successful completion of the course, students will be able to:

  • model and manipulate quantum information using the mathematical formalism of quantum mechanics
  • design and implement quantum algorithms using contemporary quantum software frameworks
  • analyze the effects of noise and imperfections in quantum systems
  • understand the principles and mechanisms of quantum error correction
  • implement and evaluate quantum communication protocols
  • model and simulate quantum networks and quantum Internet architectures
  • critically assess the opportunities and limitations of current and emerging quantum technologies

03

Scope and focus

This course adopts a software-oriented perspective on quantum computing and quantum networking. Its primary objective is to provide students with the conceptual and practical tools required to design, implement, and analyze quantum algorithms and quantum communication protocols.

Instead, quantum computers and quantum networks are treated as programmable systems whose behavior can be modeled, analyzed, and exploited through software. The emphasis is therefore placed on quantum information processing, quantum programming, quantum algorithms, quantum communication protocols, quantum error correction, and quantum network architectures.

04

Prerequisites

Students enrolling in this course are expected to possess:

  • a solid background in linear algebra, including vector spaces, linear operators, matrices, eigenvalues and eigenvectors, basis transformations, tensor products, and spectral decomposition
  • proficiency in Python programming
  • a basic understanding of computational complexity and algorithm analysis, including Big-O notation and the complexity classes P and NP

05

Quantum Software Laboratory

The laboratory component of the course provides hands-on experience with contemporary quantum software frameworks and development tools. Its primary objective is to bridge the gap between theoretical concepts and practical implementation through the design, execution, and analysis of quantum programs and quantum networking protocols.

Students work with two complementary software environments. Qiskit, IBM's open-source Python SDK, is used to develop, simulate, and execute quantum algorithms on both simulators and, whenever resources are available, real quantum processors. QuantumSavory.jl, a Julia-based framework for quantum system and network simulation, is used to model quantum communication protocols, entanglement distribution mechanisms, and quantum Internet architecture.

The Quantum Software Laboratory emphasizes software engineering practices, including program design, debugging, validation, performance analysis, and reproducibility. Particular attention is devoted to understanding how theoretical quantum-information concepts are translated into executable software.

06

Examination

Assessment is based on an oral examination in two parts — a quantum circuit to analyse, then theoretical questions — and on a project developed with Qiskit and/or QuantumSavory.jl. Rules, sample questions and past projects are on the Exam & Projects page.

Exam details, project rules, sample questions and past projects

07

Detailed program

Two tracks, developed side by side.

The course is organized as a single, integrated learning path combining theoretical foundations and a Quantum Software Laboratory. The laboratory is neither independent nor supplementary: as theoretical concepts are introduced, they are translated into code, explored through simulation, and, whenever possible, tested on quantum hardware. Although the contents of the two components are presented separately below for clarity, they develop in parallel and continuously complement and reinforce each other.

The program is organized into numbered units identified by the labels T and L: T denotes Theoretical Foundations, while L denotes Quantum Software Laboratory.

Theoretical Foundations18 units

1TFoundations of Quantum Computing and Single-Qubit Systems6 topics
  • 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
2TMathematical Foundations of Quantum Computing17 topics
  • 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)
3TBloch Sphere and Single-Qubit Measurement6 topics
  • 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
4TSingle-Qubit Quantum Gates7 topics
  • 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
5TMulti-Qubit Systems and Quantum Entanglement12 topics
  • 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
6TThe Quantum Circuit Model of Computation9 topics
  • 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
7TQuantum Teleportation and Superdense Coding7 topics
  • 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
8TFoundations of Quantum Algorithms9 topics
  • 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, and Order Finding8 topics
  • 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
10TQuantum Search and Amplitude Amplification8 topics
  • 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 topics
  • 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
12TMixed States and the Density Operator Formalism10 topics
  • 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
13TQuantum Operations and Noise Models16 topics
  • 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
14TDistance Measures and Fidelity in Quantum Information9 topics
  • 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
15TQuantum Error Correction9 topics
  • 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
16TQuantum Internet Background9 topics
  • 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
17TEntanglement Purification Protocols9 topics
  • 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
18TMeasurement-Based and Blind Quantum Computation8 topics
  • 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

Quantum Software Laboratory8 units

1LQuantum Programming with Qiskit1T–4T10 topics

Translates into code the theoretical concepts developed in Units 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
2LMulti-Qubit Circuits and Quantum Entanglement with Qiskit5T–6T9 topics

Translates into code the theoretical concepts developed in Units 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
3LFrom Quantum Circuits to Quantum Execution6T9 topics

Translates into code the theoretical concepts developed in 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
4LQuantum Algorithms with Qiskit8T–10T9 topics

Translates into code the theoretical concepts developed in Units 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
5LQuantum Communication and Quantum Key Distribution with Qiskit7T and 11T8 topics

Translates into code the theoretical concepts developed in Units 7T and 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
6LNoise Models, Fidelity, and Quantum Error Correction with Qiskit12T–15T9 topics

Translates into code the theoretical concepts developed in Units 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
7LQuantum Network Simulation with QuantumSavory.jl16T9 topics

Translates into code the theoretical concepts developed in 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 and Graph States with QuantumSavory.jl16T–18T10 topics

Translates into code the theoretical concepts developed in Units 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

References

Quantum Computing

The books are listed in a progression of difficulty: basic, intermediate, and advanced.

  • Introduction to Classical and Quantum Computing

    Thomas G. Wong · 2022

    Basic
  • An Introduction to Quantum Computing

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

    Intermediate
  • Quantum Computation and Quantum Information

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

    Advanced

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

Schrödinger's Box

A cat is sealed in this box, in a superposition of |alive⟩ + |dead⟩. Opening it is a measurement — the state must collapse.