Quantum computer programming
Individual course
Max amount of FITech students: 20
Persons without a valid study right at a Finnish university or university of applied sciences have preference to this course.
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 emphasises 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.
Course contents
Code for Quantum gates, phase flip circuit, least busy device, converting circuit to gate, etc. Also the 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.).
Learning outcomes
After the course the students 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.
Course materials
Lecture slides, journal papers, Python codes and notebooks.
Literature:
- 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.
Teaching schedule
20 meetings in total:
- Mondays (12:15 – 14:00): Teaching PennyLane and Ocean + Q/A sessions
- Tuesdays (10:15 – 12:00): Teaching PennyLane and Ocean + Q/A sessions
- Thursdays (10:15 – 12:00): Teaching Qiskit + Q/A sessions.
Completion methods
The course takes 135 hours of work:
- Class participation and presentation 40 h
- Class preparation (Incl. pre-course assignment) 60 h
- Research project report final write-up 35 h
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.
Please check the schedule from the University of Jyväskylä study guide.
You can get a digital badge after completing this course.
Quantum Computer Programming; Quantum Software Engineering
Responsible teacher
Contact person for applications
Computer engineering,
Programming
Degree student