Katas 是一款非常优秀的编程语言学习工具,主要依赖于几个简单的学习原则:主动学习,增量复杂性和反馈。
Quantum Katas 的一系列教程可以自定义进度,旨在同时教授量子计算和 Q# 编程元素。从基础到具有一定挑战性,Katas 提供了一系列关于量子计算主题的任务。每项任务都需要填写代码,从开始的只有一行代码,到后面可能需要填写一大片代码。
到目前为止,该项目主要涵盖以下主题:
基本量子计算门(Basic quantum computing gates) :专注于量子计算中使用的主要单量子比特和多量子比特门的任务。
叠加(Superposition) : 专注于在一个或多个量子比特上准备某个叠加状态的任务。
测量(Measurements) :专注于使用测量来区分量子态的任务。
Deutsch–Jozsa 算法(Deutsch–Jozsa algorithm ):专注于编写实现经典函数的量子的任务,以及 Bernstein-Vazirani 和 Deutsch-Jozsa 算法。
每个 Kata 都作为独立的 Q# 解决方案和项目对放在自己的目录中。 例如,BasicGates kata 的布局如下:
QuantumKatas/ BasicGates/ README.md # Instructions specific to this kata. .vscode/ # Metadata used by Visual Studio Code. BasicGates.sln # Visual Studio 2017 solution file. BasicGates.csproj # Project file used to build both classical and quantum code. Tasks.qs # Q# source code that you will fill as you solve each task. Tests.qs # Q# tests that verify your solutions. TestSuiteRunner.cs # C# source code used to run the Q# tests. ReferenceImplementation.qs # Q# source code containing solutions to the tasks.