Coding katas are great tools for learning a programming language. They rely on several simple learning principles: active learning, incremental complexity growth, and feedback.
The Microsoft Quantum Katas are a series of self-paced tutorials aimed at teaching elements of quantum computing and Q# programming at the same time. Each kata offers a sequence of tasks on a certain quantum computing topic, progressing from simple to challenging. Each task requires you to fill in some code; the first task might require just one line, and the last one might require a sizable fragment of code. A testing framework validates your solutions, providing real-time feedback.
Programming competitions are another great way to test your quantum computing skills. Earlier this month, we ran the first Q# coding contest and the response was tremendous. More than 650 participants from all over the world joined the contest or the warmup round held the week prior. More than 350 contest participants solved at least one problem, while 100 participants solved all fifteen problems! The contest winner solved all problems in less than 2.5 hours. You can find problem sets for the warmup round and main contest by following the links below. The Quantum Katas include the problems offered in the contest, so you can try solving them at your own pace.
We hope you find the Quantum Katas project useful in learning Q# and quantum computing. As we work on expanding the set of topics covered in the katas, we look forward to your feedback and contributions!