Overview

This is a two-day, hands-on course, intended to provide programmers with a solid foundation in universal quantum programming, as well as with practical skills needed to implement their own quantum algorithms that run on real quantum computers.

The topics covered are listed below by category. They can be adjusted based on the customer’s specific needs. Two quantum programming languages will be used throughout the course in order to get familiar with new concepts via as much coding as possible.

Prerequisite: experience in object-oriented programming in general.

The course is offered as on-site training.

If you are interested, please feel free to contact me here.

Course topics

Introduction

Classical vs. quantum computers

Foundations

The story of complex numbers

Single qubit: the two-level quantum system

Classical and superposition states of qubits

Quantum measurements & inherent randomness

Multiple qubits: creating entanglement

Quantum subsystems: pure and mixed states

Spooky action at a distance

Quantum gates: transformation of qubit states

Quantum teleportation

Bell’s theorem

Quantum Algorithms & Error Correction

Quantum circuits

Deutsch-Jozsa algorithm

Parallelism & interference: the art of quantum programming

Breaking the RSA encryption: Shor’s algorithm

Grover’s search

Quantum simulation

Quantum noise channels

3-qubit quantum repetition codes

Shor code: correcting arbitrary errors

Physical vs. logical qubits

Quantum gate fidelity

Quantum Computers

Quantum computers from a developer’s perspective

NISQ computers of the near future

Programming

Qiskit, Q#