TIES4523 Quantum Computer Programming (5 cr)

Study level:
Advanced studies
Grading scale:
Responsible organisation:
Faculty of Information Technology
Curriculum periods:


Quantum computing is an emerging and promising technology. Learning how to program a quantum device is the goal of the course. Since it is a software and programming course, it emphasizes how to develop quantum programs and software without deep knowledge of quantum mechanics.

We will discuss the single and multiple qubit gates. Then we see corresponding codes and examples. Next, some quantum algorithms will be programmed. We will also consider different quantum circuits and how to write corresponding codes.

  • Code for Quantum gates, phase flip circuit, least busy device, converting circuit to gate, etc, will be discussed.
  • Code for some quantum algorithms (e.g., quantum teleportation, Deutsch and Deutsch-Jozsa, Bernstein-Vazirani, Simon algorithm, Shor’s factorization algorithm, Grover’s Search algorithm, Superdense coding, etc.) will be discussed.

Learning outcomes

After completing the course, the student will be able to:

  • explain how quantum algorithms can be programmed.
  • explain how quantum computer programs work.
  • read, write, and understand quantum computer programs.
  • execute quantum computer programs in a simulator.
  • execute quantum computer programs in a real quantum device.
  • program a gate-based quantum computer.

Description of prerequisites

Passing the course on “Introduction to Quantum Computing and Reversible Computation (TIES5480)” or a similar course on “Introduction to Quantum Computing” is suggested, but it is not mandatory. Basic knowledge of mathematics, linear algebra, statistics, complex numbers, algorithm data structure analysis, programming, and logic circuit design will be helpful.

Study materials

  • Lecture slides
  • Python codes and notebooks
  • Journal Papers


  • · IBM Qiskit Textbook, online. · Xanadu Pennylane Textbook, online. · Hundt, R. (2022). Quantum Computing for Programmers. Cambridge University Press. · Johnston, E. R., Harrigan, N., & Gimeno-Segovia, M. (2019). Programming Quantum Computers: essential algorithms and code samples. O'Reilly Media.

Completion methods

Method 1

Passing the course requires active participation, receiving more than half of the exercise points, weekly tasks, and project points. Details will be described in the first lecture.
Select all marked parts
Parts of the completion methods

Participation in teaching (5 cr)

Participation in teaching
Grading scale: