Quantum Computing (online)


This course is designed to be a hands-on, applications-oriented primer to digital quantum computing.

Over a period of two days, you will be introduced to the fundamentals of digital quantum computing (day 1) and some of the relevant present-day applications (day 2).

Theory sessions in the morning will present background material and code examples, while practical sessions in the afternoon will give you the opportunity to go through a series of guided examples at your own pace. 

The course is taught entirely on interactive Jupyter Notebooks: the focus is on teaching quantum programming through runnable code for relevant real-world examples. The IBM Qiskit API was chosen for its maturity, but the techniques learned during the course are immediately transferable to other major APIs (such as Amazon Braket, TensorFlow Quantum or PennyLane). 


This course is delivered as six theory sessions and four practical sessions over two days, on 9 and 10 November, starting at 09:00 (UK time) each day.

Three theory sessions will be held each morning, of 50 minutes each, with a 15 minute break between each session.

The two practical sessions in the afternoon will be 80 minutes, with a 20 minute break between each session. 

The practical sessions will be structured as a 10 minute briefing, 60 minute practical work and 10 minute debriefing.

Programme details

9 November – Fundamentals

Session 1 - Introduction to Quantum Computing 

High-level overview of the objectives of quantum computing, inclusive of existing applications. Overview of quantum computing principles, both with regards to traditional algorithms and with a focus on recent developments. Overview of existing quantum computing architectures: pros and cons, current state of development, near-term prospects. Overview of (some) quantum computing APIs: IBM Qiskit, Amazon Braket, D-Wave Ocean, Rigetti Forest, TensorFlow Quantum and PennyLane. 

Session 2 - Digital Quantum Circuits  

Introduction to the quantum circuit model for digital quantum computers. The Bloch sphere picture and single-qubit gates. Controlled single-qubit gates and other two-qubit gates. Clifford circuits and the stabilizer formalism. Three-qubit gates, T-gates and universal quantum computing. Measurements, expectation values and tomography. 

Session 3 - Digital Quantum Computers  

Entanglement, uncertainty and mixed-state formalism. Introduction to super-conducting quantum computing architectures. Noise models for super-conducting quantum computing architectures. Compilation and gate synthesis for topologically-constrained architectures. Noisy simulations and circuit execution on IBMQ quantum computers. Basics of quantum computer benchmarking. 

Session 4 - Noiseless Quantum Algorithms 

The first practical session is focussed on the implementation of some simple “traditional” quantum algorithms, to get hands-on experience with the quantum circuit model. Bell-basis states: preparation, measurements and tomography. Simulating the quantum teleportation protocol. Simulating the super- dense coding protocol. Gate teleportation and measurement-based quantum computation. 

Session 5 - Benchmarking Real-World Devices  

The second practical session is focussed on the benchmarking of IBMQ devices, to better understand the practical limitations of near-term quantum computation. The swap test: a case-study on gate synthesis, circuit depth and the effects of noise. Benchmarking of physical qubits: estimation of T1 and T2 times. Benchmarking of digital quantum computers: the quantum volume metric. 

10 November - Applications 

Session 6 - Variational Quantum Circuits  

Variational quantum circuits, classification tasks and function approximation tasks. Understanding the power of variational quantum circuits: encoding strategies and response functions. Exact gradient descent, the parameter-shift rule, quantum natural gradient descent. Stochastic gradient de- scent, SPSA, the stochastic parameter-shift rule. Random circuits, barren plateaus and mitigation strategies. 

Session 7 - Variational Quantum Solvers  

The quantum Fourier transform and quantum phase estimation. Variational solvers: the HHL algorithm and the Variational Quantum Linear Solver (VQLS). Quantum chemistry simulations using the Variational Quantum Eigensolver (VQE). A brief introduction to variational quantum algorithms for non-linear problems, with a focus on computational fluid dynamics. 

Session 8 - Quantum Approximate Optimization  

The quantum approximate optimization algorithm (QAOA): solving constraint satisfaction problems on digital quantum computers. Binary quadratic models (BQM) and quadratic unconstrained binary optimization models (QUBO): solving constraint satisfaction problems using D-Wave quantum annealers. 

Session 9 - Quantum Machine Learning  

The third practical session is focussed on using variational quantum circuits for classification and function approximation tasks. Variational quantum classifiers for categorical data. Function approximation by Fourier transform. Hybrid quantum-classical convolutional neural networks for image classification. 

Session 10 - Quadratic Hamiltonians  

The fourth practical session is focussed on using variational quantum circuits to solve problems that can be modelled by quadratic Hamiltonians. Solving constraint satisfaction problems using QAOA. Estimating the ground-state energy of hydrogen using VQE. Ising Hamiltonian approximation using quantum graph recurrent neural networks.


Participants who attend the full course will receive a University of Oxford electronic certificate of attendance. 

The certificate will show your name, the course title and the dates of the course you attended.

You will be required to attend all of the live sessions on the course in order to be considered for an attendance certificate.


Description Costs
Standard course fee £895.00


Fees include electronic copies of course materials.

All courses are VAT exempt.


Stefano Gogioso


Dr Stefano Gogioso is Departmental Lecturer in Computer Science at the University of Oxford, where he delivers Quantum Computing and Object-Oriented Programming courses to professionals from industry as part of the Professional Masters Programme.

He is College Lecturer at Oriel College (Oxford) and Director of a small UK start-up developing software for decentralised finance and quantum computing.

He has recently written a book with Bob Coecke (publication est. Q1 2021), teaching quantum computing to high-school students using diagrams.


Please use the 'Book' or 'Apply' button on this page. Alternatively, please contact us to obtain an application form.

Level and demands

The course takes a circuit-oriented, programmer-friendly perspective, as opposed to the algebra-heavy approach taken by most introductions to quantum computing. However, the theoretical sessions will assume some basic knowledge of complex linear algebra. 

All code presented in this course is Python 3, using the IBM Qiskit API on Jupyter notebooks. Reasonable familiarity with Python 3 and Jupyter Notebooks is a pre-requisite for this course. No familiarity with the Qiskit API is expected. 

IT requirements

This course is delivered online using Microsoft Teams. You will be required to follow and implement the instructions we send you to fully access Microsoft Teams on the University of Oxford's secure IT network.

This course is delivered online; to participate you will need regular access to the Internet and a computer meeting our recommended Minimum computer specification.

It is advised to use headphones with working speakers and microphone.