How do I learn Q#? What languages should I know prior to learning Q#? How do I get started with quantum computing?


3 Answers 3


Probably the first big reference I would highlight is qsharp.community. Its a community org where we work on projects and collecting learning materials for Q#. Contributions are always welcome, so just make a PR on a repo or hop on the gitter and say hi!

I'll also add that I am working on a textbook that is currently in Early Access called Learn Quantum Computing with Python and Q#. It is intended for folks who want to learn how to program for a quantum computer, and learn the basics of how a quantum computer works along the way. Only knowledge prerequisites are programming in some language (Python helps but not really required) and a bit of linear algebra (multiple matrices and vectors sort of stuff). My co-author @chris-granade and I would love feedback on what is currently out on the forums associated with the book, and there are discount codes floating around for conferences and podcasts and such, hmu and I can help find one for ya!


To get started with quantum computing in general, you need to start by learning some of the theory behind it - unlike classical programming, you don't have any intuition about what is going on from your previous experiences, so jumping right into programming might be a bit too steep. There are a lot of resources out there to help you with this, you might want to check out other questions tagged with resource-request or the Awesome Quantum Computing list.

For Q#, here are the resources you might want to start with:

  • Official documentation, including a brief review of quantum computing concepts.
  • Quantum Katas - self-paced programming exercises and tutorials designed to accompany a course on quantum computing theory. Each kata consists of a set of exercises of increasing complexity for you to solve and a behind-the-scenes testing harness which checks whether your code is correct, providing you immediate feedback, so I believe they are a great way to learn (disclaimer: I am the primary maintainer of the Quantum Katas project).
    The existing katas cover a nice set of introductory topics, and we are working on more tutorials bridging the gap between "not knowing anything about quantum computing" and "knowing enough to solve first exercises" - check back in two-three weeks :-)
  • Awesome Q# list lists a variety of other resources, including blogs, videos, standalone tutorials and even a book!

Finally, I don't think it's as important what programming language you know before learning Q# as just knowing some programming language. C# and Python come to mind first, since they both allow to run Q# from them (you'll need a classical program to invoke quantum code), but you don't need them to start solving the katas.


I'm not familiar with q#, but I have used qiskit extensively. Qiskit is a python package supported by IBM, so obviously you need to know python. There are many tutorials and instructive Jupyter notebooks on the qiskit syntax and even some basic quantum mechanics. A qiskit based textbook was just released. I haven't read it yet, but maybe you'll find it useful. Lastly, linear algebra is the language of qubits. You will want to have a solid understanding of linear algebra.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.