The open-source project - called Quantum Katas - is designed for those who want to explore quantum computing and learn the Q# programming language at their own pace. The exercises, says the company, rely on several simple learning principles: active learning, incremental complexity growth, and feedback.
The self-paced tutorials are aimed at teaching elements of quantum computing and Q# programming at the same time. Each kata - a term used to describe a system of individual training exercises for practitioners of karate and other martial arts - offers a sequence of tasks on a certain quantum computing topic, progressing from simple to challenging.
Each task requires the user to fill in some code. The first task might require just filling in one line, while the last might require a sizable fragment of code. A testing framework validates the solutions, providing real-time feedback.
Currently there are four katas, each covering a different topic of quantum computing:
- Basic quantum computing gates: Tasks which focus on main single-qubit and multi-qubit gates used in quantum computing.
- Superposition: Tasks which focus on preparing a certain superposition state on one or multiple qubits.
- Measurements: Tasks that focus on distinguishing quantum states using measurements.
- Deutsch–Jozsa algorithm: Tasks that focus on writing quantum oracles that implement classical functions, and the Bernstein–Vazirani and Deutsch–Jozsa algorithms.
The Quantum Katas include the problems that were offered in the company's first Q# coding contest , which had more than 650 participants from around the world. The company says it plans on expanding the set of topics covered in the katas going forward.
The project is available on GitHub.
Microsoft unveils free Quantum Development Kit preview
Microsoft: Quantum computing moves closer to reality
2018 to mark 'new era' for quantum computing, says report
IBM quantum computing initiative boasts leading companies, organizations