Learning Outcomes
On successful completion of the course students should be able,

to understand basic concepts of computability and computational complexity;

to understand basic concepts and techniques in quantum algorithmics;

to design and analyse quantum algorithms;

to implement and run quantum algorithms in the Qiskit opensource
software development kit.
Syllabus
 Computability and complexity
 Mathematical backgound: sets, orders, groups.
 Turing machines and computability.
 Computational complexity. Algorithms and complexity classes.
 Complexity in quantum computation.
 Quantum computation and algorithms
 The quantum computational model (gates, measurements, and circuits).
 Introduction to quantum algorithms.
 Algorithms based on phase amplification.
 Algorithms based on the quantum Fourier transform.
 Case studies in quantum algorithmics.

Quantum programming
 Quantum programming in Qiskit and other tools.
Summaries (202223)
T Lectures
Sep 19 (09:00  11:00) 
Introduction to the course and its dynamics (slides) 
Sep 26 (09:00  11:00) 
A first glimpse of quantum algorithmics: superposition, quantum interference,
and Deutsch's algorithm
(slides) 
Oct 03 (09:00  11:00) 
Continuation of the previous lecture. Basic aspects of entanglement
(slides) 
Oct 10 (09:00  11:00) 
Continuation of the previous lecture. Quantum teleportation
(slides) 
Oct 17 (09:00  11:00) 
The phase kickback effect. BernsteinVazirani's algorithm and DeutschJosza's algorithm
(slides) 
Oct 24 (11:00  13:00) 
Simon's algorithm
(slides) 
Nov 07 (09:0011:00) 
Grover's algorithm (slides) 
Nov 14 (09:0011:00) 
Grover's algorithm from a geometrical perspective. Grover's algorithm
with multiple solutions (slides) 
Nov 21 (09:0011:00) 
The basics of the Quantum Fourier Transform. Introduction to Quantum Phase
Estimation (slides) 
Nov 28 (09:0011:00) 
Continuation of the previous lecture. Performance of Quantum Phase Estimation.
Introduction to the problem of orderfinding
(slides) 
Dez 05 (09:0011:00) 
Continuation of the previous lecture
(slides) 
Jan 09 (09:0011:00) 
Seminar on quantum random walks
(seminar data). Conclusion of the course.

TP Lectures
Sep 19 (11:00  13:00) 
Algebra of quantum operations (Exercises 1) 
Sep 26 (11:00  13:00) 
Quantum circuit formalism; Quantum projects ( Exercises 2) 
Oct 3 (11:0013:00) 
Quantum Operations and Simulations in Qiskit ( Exercises 3) 
Oct 10 (11:0013:00) 
IBM Q and Superdense Coding (Exercises 4) 
Oct 24 (09:0011:00) 
The DeutschJozsa Algorithm; Simulate Real Devices(Exercises
5) 
Oct 31 (09:0011:00) 
BernsteinVazirani Algorithm; Measurement Errors Mitigation (Exercises 6) 
Oct 31 (11:0013:00) 
Simon's Algorithm; C^{n}NOT decomposition (Exercises 7) 
Nov 07 (11:0013:00) 
Grover's Algorithm (Exercises 8) 
Nov 14 (11:0013:00) 
Grover's Algorithm  Part 2 (Exercises 9) 
Nov 21 (11:0013:00) 
QFT and QPE (Exercises 10) 
Nov 28 (11:0013:00) 
QPE + QPF (Exercises 11) 
Dez 05 (11:0013:00) 
3rd Assessment

Dez 12 (09:0011:00) 
Shor's Algorithm (Exercises 12) 
Dez 12 (11:0013:00) 
Quantum Repetition Code (Exercises 13) 
Bibliography
Computability and Computational Complexity

H. R. Lewis and C. H. Papadimitriou. Elements of the Theory of Computation. Prentice
Hall (2nd Ed), 1997.

S. Arora and B. Barak. Computational Complexity: A Modern Approach. Cambridge
University Press, 2009.

C. Moore and S. Mertens The nature of computation. Oxford
University Press, 2011.
Quantum Computation and Algorithms

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.

F. Kaye, R. Laflamme and M. Mosca. An Introduction to Quantum Computing. Oxford University
Press, 2007.

N. S. Yanofsky and M. A. Mannucci. Quantum Computing for Computer Scientists. Cambridge
University Press, 2008.

W. Scherer. Mathematics of Quantum Computing. Springer, 2019.
Bedtime readings

N. S. Yanofsky. The Outer Limits of Reason. MIT Press, 2013.

S. Aaronson. Quantum Computing since Democritus. Cambridge
University Press, 2013.

J. Preskill Quantum Computing in the NISQ era and beyond. Quantum 2, 79, 2018.
Links
Pragmatics
Lecturers
Assessment

Training assignment on programming quantum algorithms (50%)
(Available: 12/12/2022)  Final Project

Three individual (as)synchronous tests (50%) proposed along
the T lectures
(test 1,test 2)
Contact

Appointments  Renato: Thu, 14:0018:00 (please send an email the day before).

Email  Renato: nevrenato at gmail dot com

Appointments  Ana: Wed, 14:0018:00 (please send an email the day before).

Email  Ana: ana dot i dot neri at inesctec dot pt