Learning Outcomes
On successful completion of the course students should be able
-
To understand basic concepts of computability, computational complexity, and underlying mathematical structures.
-
To master the principles and main techniques of quantum programming.
-
To design and analyse quantum algorithms.
-
To understand the basic elements of quantum programming languages and current implementations.
-
To implement and run quantum algorithms in the Qiskit open-source software development kit for IBM Q quantum processors.
Syllabus
- Classical computational models, computability and complexity
- Principles of quantum computation and programming
- Quantum algorithms
- Programming in Qiskit
- Overview of quantum programming languages and quantum lambda-calculus
Summaries (2018-19)
T Lectures
P Lectures
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.
Quantum Computation, Algorithms and Programming
-
M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information (10th
Anniversary Edition). Cambridge University Press, 2010
-
N. S. Yanofsky and M. A. Mannucci. Quantum Computing for Computer Scientists. Cambridge
University Press, 2008.
-
E. Rieffel and W. Polak. Quantum Computing: A Gentle Introduction. MIT Press, 2011.
-
R. S. Lipton and K. W. Regan. Quantum Algorithms via Linear Algebra: A Primer. MIT Press, 2014.
-
M. Ying. Foundations of Quantum Programming. Elsevier, 2016.
Bedtime readings
-
N. S. Yanofsky. The Outer Limits of Reason. MIT Press, 2013.
- S. Aaronson. Quantum Computing since Democritus. Cambridge
University Press, 2013.
Links
Pragmantics
Lecturers
Assessment
- Training assignment (40%): 10 June
(with intermediate ckeckpoints)
- Written test (60%): 27 May: Results!
- FINAL MARKS available HERE!
Contact
- Appointments: Wed, 9-11 (please send an email the day before)
- Email: lsb at di dot uminho dot pt
- Last update: 2019.07.01