From bits to qubits – learn quantum programming

What is quantum computing and how can it be used? This emerging technology shows a lot of potential. A new course developed at DSV gives you a head start.

If you know some programming (15 credits required) and have an interest in mathematics, this course is designed for you. We posed some questions to Mateus de Oliveira Oliveira, teacher of the course, about quantum programming, quantum computers and what you will learn in the course

Mateus de Oliveira Oliveira. Photo: Carina Bergholm
Are you curious about quantum programming and quantum computing? Then this is the course for you, says Mateus de Oliveira Oliveira, teacher of the course. Photo: Carina Bergholm

How do quantum computers differ from ordinary computers?

“A good way to answer this question is with an analogy. Most personal computers today have access to special hardware that are used to solve certain tasks more efficiently than the general-purpose CPU (Central Processing Unit). For example, Graphics Processing Units, GPUs, present in graphics cards are used for rendering images in a more efficient way, while audio processors, present in sound cards, are used for tasks related to sound processing.”

“Quantum computers are essentially classical computers that have access to Quantum Processing Units (QPUs). These are computational devices that speed up certain types of computation by exploiting fundamental principles from quantum physics, such as superposition, interference, etc. Interestingly, there are certain computational tasks that are apparently very difficult for purely classical computers, but that suddenly become easy for classical computers augmented with quantum processing units."

“While in classical computation, the basic unit of information is a "bit", in quantum computation, it is a "qubit". In the same way that classical computation can specified using circuits built up from logical gates, quantum computation can be specified using circuits built up from quantum gates.”

These are computational devices that speed up certain types of computation by exploiting fundamental principles from quantum physics

What is quantum programming and how does it differ from "ordinary programming" that we are used to?

“Quantum programming is used to write programs that make use of Quantum Processing Units. It is a lot like writing programs that use specialized hardware such as GPUs or audio processors. The main program is written using a standard programming language, such as Python. When we want to use the QPU to solve a specific task, we specify that by using instructions available in a library, such as Qiskit. Libraries provide a set of tools to define quantum circuits solving a given computational task, and to combine such circuits to solve even more complex tasks. Once a quantum circuit has been specified, the specification is sent to a quantum computing service provider using an API. The provider executes the circuit in their hardware and sends the result back. This result can then be used in subsequent steps during the program.” 

“From a practical perspective, quantum programming is very similar to classical programming. The main difference is that there are special instructions to define quantum circuits and to simulate such circuits. Of course, one also needs to learn about some key quantum algorithms and techniques from quantum computing to be able to define efficient quantum circuits for key computational problems.” 

What will quantum computing be used for?

“The most useful application will be the simulation of quantum phenomena. For example, quantum computers are, in theory, able to efficiently simulate the behaviour of atoms and molecules with high accuracy. This may have an important impact in the field of quantum chemistry, since accurate simulations allow researchers to have a better understanding of reaction mechanisms, predict material properties and design new molecules with specific properties. This may accelerate the process of discovery of new drugs and the process of manufacturing new materials.” 

“It is also likely to have a significant impact in the field of cryptography. It provides a new set of techniques for the design of cryptographic protocols whose security are based on fundamental principles from quantum mechanics.” 

“Quantum computing may also have an impact in the fields of machine learning and big data. Here, quantum computing offers a set of tools for a more efficient representation of data and for the application of certain types of operations on these data.” 

Do quantum computers already exist? How far has the development come?

“Quantum computing is still an emerging technology, and therefore devices are still very large and very expensive. They are mostly available through cloud services offered by large corporations and research institutions. Currently, industrial scale quantum computing devices are able to operate with a few hundreds of qubits. Recently IBM announced the release of a chip with about 1000 qubits. The first quantum computer in Sweden is currently in development at Chalmers University and currently has 25 qubits.”

Quantum computing is still an emerging technology

“In comparison, classical laptops available today are able to manipulate many billions of classical bits per second, and small memory cards are able to store trillions of classical bits. Thus, there is still a long way to go before quantum computers are able to solve relevant tasks much faster than classical computers.”  

What will the students learn during the course?

“It is an introductory course to quantum computing. We will address some of the most basic concepts, such as quantum gates, quantum circuits, basic quantum algorithms such as Bernstein-Vazirani's algorithm, Simon's algorithm, Shor's algorithm, quantum search, etc. All these basic concepts will be illustrated using Qiskit, a Python-based quantum-computing library developed by IBM. From a theoretical perspective, we will also discuss some general techniques for the development of quantum algorithms. And finally, we will be discussing some research topics within quantum computing that may have some impact in the near future, for example quantum simulation and quantum cryptography.” 

Information about the course, requirements and application

Quantum Programming 7,5 hp/credits

Application is open between 15 March and 15 April 2024
Apply via antagning.se

Contact the study counsellors at villstudera@dsv.su.se

Text: Carina Bergholm