Quantum Software Engineering

This thesis topic focuses on the methods to develop and test quantum programs.

Quantum computing (QC) promises to revolutionize the present form of computing, by solving unimaginably large and highly complex problems (i.e., bounded-error quantum polynomial time (BQP) problems) that traditional computers would never crack. The potential for QC to solve highly complex safety and mission-critical problems is also reflected by the rising number of QC platforms (e.g., Microsoft Quantum computing platform , IBM Quantum Experience , and D-Wave ), software development kits (e.g., Microsoft’s Quantum Development Kit (QDK), and IBM’s Quantum Information Software Kit (QisKit)) and their supported programming languages (e.g., Q# in QDK, whereas Qiskit supports JavaScript, Python, and Swift). However, new methods are needed to design, develop, and test Quantum programs.


There are multiple sub-topics available. The first topic is about developing methods to write Quantum programs, whereas the second topic focuses on developing testing methods for Quantum program.

Learning outcome

You will learn to program in quantum programming languages!


Basic programming skills in C#, Python, etc are necessary.


  • Shaukat Ali
  • Tao Yue

Contact person