Quantum Programming

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
02QPRG Z 2 1P+1C English
Aurél Gábor Gábris (guarantor), Iskender Yalcinkaya
Aurél Gábor Gábris (guarantor), Iskender Yalcinkaya
Department of Physics

The goal of the course is to provide the basic skills for programming quantum computers, and to use these skills to develop understanding of fundamental quantum communication protocols and quantum algorithms. The classes are combinations of lectures that introduce the essential concepts and tools, followed by exercise sessions during which programming assignments are completed. Familiarity with quantum mechanics is not necessary. Any quantum SDK, such as Qiskit, Cirq, Forest, Q#, may be used during the course, based on agreement at the beginning of the semester.

Syllabus of lectures:

Outline of the course:

1.Probabilistic and quantum bits, quantum computing SDK (e.g. Qiskit),

2.Bloch sphere representation of a qubit, general single qubit gates

3.Measurement, cloning, state identification of an ensemble

4.Two qubits, quantum correlations, quantum circuits

5.Quantum communication protocols: quantum teleportation, super dense coding

6.Quantum key distribution protocol: BB84

7.Multi-qubit gates, universal quantum computer

8.Deutsch–Jozsa algorithm, the Oracle

9.Grover’s search algorithm

10.Quantum Fourier Transform

11.Quantum phase estimation

12.Shor’s factorization, quantum Fourier transformation

13.Discrete time quantum walks and spatial search

Syllabus of tutorials:

Outline of the exercises:

Students are expected to write code during the class that implements the assigned tasks using the chosen SDK, typically using the Jupyter notebook interface to python. Use of own laptops with a preinstalled quantum SDK is expected.

Study Objective:
Study materials:

Studijní literatura a studijní pomůcky

Key references:

[1] M. A. Nielsen, I. L. Chuang, Quantum computation and quantum information, Cambridge Univ. Press, 2013.

Recommended references:

[2] Learn Quantum Computation using Qiskit: https://qiskit.org/textbook

[3] Cirq tutorial: https://quantumai.google/cirq

[4] Forest SDK Docs: https://pyquil-docs.rigetti.com/en/stable/

[5] Microsoft QDK tutorial: https://docs.microsoft.com/en-us/learn/paths/quantum-computing-fundamentals/

Further information:
Time-table for winter semester 2021/2022:
Time-table is not available yet
Time-table for summer semester 2021/2022:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2022-08-17
For updated information see http://bilakniha.cvut.cz/en/predmet6683806.html