Learn quantum computing with the Quantum Katas

The Quantum Katas is an open-source collection of self-paced tutorials and sets of programming exercises aimed at teaching you elements of quantum computing and Q# programming at the same time.

Learning by Doing

The tutorials and exercises collected in this project emphasize learning by doing: they offer programming tasks that cover certain topics which progress from very simple to quite challenging. Each task asks you to fill in some code; the first tasks might require just one line, and the later ones might require a sizable fragment of code.

Most importantly, the katas include testing frameworks that sets up, runs and validates the solutions to the tasks. This allows you to get immediate feedback on your solution and to reconsider your approach if it is incorrect.

You can use the Katas for learning in your environment of choice:

  • Jupyter Notebooks online within the Binder environment
  • Jupyter Notebooks running on your local machine
  • Visual Studio
  • Visual Studio Code

What can I learn with the Quantum Katas?

Here is a summary of the main topics covered in the Quantum Katas. We recommend you to follow this learning path in the beginning to make sure you have a solid grasp on the fundamental concepts of quantum computing. Of course, you can skip the topics you're comfortable with, such as complex arithmetic, and learn the algorithms in any order you want.

Introduction to quantum computing concepts

Quantum computing fundamentals


Protocols and libraries

Entanglement games