Quantum Computing

Academic year
Subject Area
Language of Instruction
Mode of Delivery
ECTS Credits
2nd Cycle Studies - Mestrado

Recommended Prerequisites

Basic knowledge of computer architecture and programming, digital systems, as well a mathematical background in probabilities, is welcome.

Teaching Methods


Lecture classes with detailed presentation, using audiovisual resources, of the concepts, principles and fundamental theories and solving of basic practical exercises to illustrate the practical interest of the subject and exemplify its application to real cases.

Laboratory classes, with lab assignments of growing complexity, initially with a tutorial set of instructions, but later fostering a more autonomou work, and the last assignment is already a full mini-project. Online reources will be used, such as IBM Q, Quantum Computing, (URL: https://www.ibm.com/quantum-computing/ , 2019)

Learning Outcomes


The key learning outcomes are:

- Understand the classical deterministic computing implementations and probabilistic approaches on conventional hardware.

- Understand the differences between quantum and classical computation

- Discern potential performance gains of quantum vs. classical algorithms.

- Understand the mathematical description of quantum states and basic quantum operations.

- Understand engineering challenges currently faced by developers of quantum computers.

- Become proficient with engineering requirements for quantum vs classical algorithm implementation.

- Understand the scientific limits of quantum algorithms for optimisation.

- Implement quantum computing algorithms using currently available tools.

- Be well positioned to use emerging quantum technologies.


Work Placement(s)





Analogue Computing, Stochastic Computing, and Deterministic Digital Systems

Moore’s Law and the Stored-program Computer

Parallel Computing, Hardware Accelerators and the limits of classical approaches

Quantum Computer as Accelerator and potential performance gains


:Quantum Computing:

History of Quantum Computing and approaches to building Qubits

Entanglement, Decoherence, and Robustness

Quantum Gates and Universal Quantum Algorithms

Quantum Simulation, Emulation and Annealing


:Quantum Computing Model and Tools:

Quantum Circuits and Gates, and Effects of Superposition and Entanglement

Quantum Software, IBM Q, Qiskit framework and development tools.


:Quantum computing applications:

RSA Cryptosystem, Factoring, and Shor’s Algorithm


Random Number Generators and Quantum Repeaters

Quantum Optimisation

Adiabatic Quantum Computing

Quantum Annealing & Polynomial-Speedup Quantum Algorithms

Grover’s Algorithm

Quantum Computing for Machine Learning

Head Lecturer(s)

Jorge Nuno de Almeida e Sousa Almada Lobo

Assessment Methods

Exam: 30.0%
Laboratory work or Field work: 30.0%
Project: 40.0%


Bibliografia principal / key bibliography

• M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information (10th Anniversary Edition). Cambridge University Press, 2010

• E. Rieffel and W. Polak. Quantum Computing: A Gentle Introduction. MIT Press, 2011.

• Noson S. Yanofsky and Mirco A. Mannucci, 2008, Quantum Computing for Computer Scientists, Cambridge University Press.

• Learn Quantum Computing using Qiskit, Abraham Asfaw, Luciano Bello, Yael Ben-Haim, Sergey Bravyi, Lauren Capelluto, Almudena Carrera Vazquez, Jack Ceroni, Jay Gambetta, Shelly Garion, Leron Gil, Salvador De La Puente Gonzalez, David McKay, Zlatko Minev, Paul Nation, Anna Phan, Arthur Rattew, Javad Shabani, John Smolin, Kristan Temme, Madeleine Tod, James Wootton, URL: https://qiskit.org/textbook/preface.html  , 2019