Quantum computers are an exciting new technology slowly beginning to mature. From enormous cybersecurity improvements over highly efficient sorting algorithms to quantum chemistry, quantum computers have huge potential. In this course, I will introduce you to the basic concepts of quantum mechanics. We will then discuss quantum gates and quantum algorithms and think about their advantages compared to classical algorithms. After a short introduction into the Python programming language, you will implement these algorithms on real quantum computers!
There will be two sessions of the course each day. In the morning session, I will be discussing the theory behind quantum computers while in the afternoons, we will be implementing what we learnt. First, we have to equip ourselves with mathematical tools such as matrices and complex numbers. We will be learning about the Schrödinger equation, quantum operators and the concept of a wave function. Throughout the theoretical sessions, I will be using quizzes to get you engaged. Concepts such as quantum tunnelling will become intuitive. In the afternoon, we will install all the necessary software and start experimenting with Python, visualising the concepts learnt in the morning. The next step is to introduce the widely used Dirac notation to describe quantum states and the tensor product. In the afternoon, you will learn about the intuitive Q-sphere and plot some quantum states. We will then discuss quantum gates and compare them to classical gates. In the afternoon, we will implement them and start simulating our first quantum circuits. Finally, we will discuss quantum algorithms and discuss their performance. Your final project will be to implement a quantum algorithm and submit it to a real quantum computer at IBM. We will then look at the results together and discuss the differences to the simulated results
If there is time available at the end, we can discuss some cutting edge research on the physical implementations of quantum computers.