TIES4523 Quantum Computer Programming (5 cr)
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.
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.
- 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.