Q#
repo: ebraminio/awesome-qsharp
category: Programming Languages
Awesome Q# 
Q# is a domain-specific programming language used for expressing quantum algorithms. It was initially released to the public by Microsoft as part of the Quantum Development Kit. –Wikipedia
A list of Q# code and resources.
Feel free to improve this list using GitHub pull request mechanism, see CONTRIBUTING for more information.
Contents
- Official Resources
- Tutorials
- Books
- Videos
- Q/A
- Coding Contests and Solutions
- IDE Integration
- Demos, Samples, and Additional Libraries
- Blogs
Official Resources
- Installation guide
- Q# samples
- Q# libraries
- Quantum Development Kit documentation - Specially "Quantum computing concepts" gives a good introduction to quantum computing in general.
- Quantum Computing Libraries for noncommercial use
- Q# libraries for the Quantum Development Kit
Tutorials
- Quantum Katas - Programming exercises for learning Q# and quantum computing.
- Quantum Kata Notebooks - Online self-paced tutorials for learning Q# programming and quantum computing.
- Create your first Q# program by using the Quantum Development Kit - Microsoft Learn module.
- Deutsch-Jozsa Algorithm - Materials for self-paced "Introduction to Quantum Computing" workshop presented at Grace Hopper Celebration 2018 and Hopper x1 Seattle 2019.
- Quantum Perceptron - Materials for self-paced "Introduction to Quantum Machine Learning" workshop presented at MLADS 2018.
- Quantum Classification - Materials for self-paced "Introduction to Quantum Classification" lab presented at MLADS 2020.
- Quantum Computing with Microsoft QDK - Manning liveProject series that guides the learner through implementation of a variety of protocols and algorithms using Q# and Microsoft QDK.
Books
- [Learn Quantum Computing with Python and Q#](https://www.manning.com/books/learn-quantum-computing-with-python-and-q-sharp) - Manning, 2021, Sarah Kaiser and Chris Granade.
- Q# Pocket Guide - O'Reilly, 2022, Mariia Mykhailova.
- [Introduction to Quantum Computing with Q# and QDK](https://link.springer.com/book/10.1007/978-3-030-99379-5) - Springer, 2022, Filip Wojcieszyn.
- [Introducing Microsoft Quantum Computing for Developers](https://link.springer.com/book/10.1007/978-1-4842-7246-6) - Apress, 2022, Johnny Hooyberghs.
Videos
- Microsoft Quantum Development Kit Preview - Krysta Svore - step-by-step demo of quantum teleportation at Microsoft Mechanics.
- Introduction to Quantum Programming through the Quantum Katas - Bettina Heim, Microsoft Ignite 2018 session (here is the same session held with VS Code instead of Visual Studio).
- Learn to build your first quantum solution with the Quantum Development Kit and Q# - John Azariah, Microsoft Build 2018 session.
- Programming quantum computers in .NET using Microsoft Q# - Rolf Huisman.
- Quantum computing sessions at //Build
Q/A
- Q# tag on Stack Overflow
- [Q# tag on Quantum Computing StackExchange](https://quantumcomputing.stackexchange.com/questions/tagged/q%23)
Coding Contests and Solutions
Official resources
- Microsoft Q# Coding Contest (Summer 2018)
- Microsoft Q# Coding Contest (Summer 2018) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Summer 2018) and for the Warmup Round
- Microsoft Q# Coding Contest (Winter 2019)
- Microsoft Q# Coding Contest (Winter 2019) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Winter 2019) and for the Warmup Round
- Microsoft Q# Coding Contest (Summer 2020)
- Microsoft Q# Coding Contest (Summer 2020) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Summer 2020) and for the Warmup Round
Participants' solutions
- Solutions to the 2018 Microsoft Q# Coding Challenge and Warm-Up on Codeforces
- Q# codes by Hiroshi Kurokawa
- No Description_ by Hajime Fukuda
IDE Integration
Demos, Samples, and Additional Libraries
- Quantum Computing Q# Introduction 2018
- [A implementation of Shor's algorithm written in Python calling Q# for the quantum part](https://github.com/Michaelvll/myQShor)
- Hadamard Gate Q# Demo
- Q# Bell State Program
- Q# playgroud
- QuantumPeep - Generate Q# from JavaScript/TypeScript.
Blogs
- Q# Dev Blog - Official blog of Q# dev team.
- Microsoft Quantum Blog - Official blog of Microsoft Quantum team.
- Q# Advent Calendar 2018 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2019 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2020 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2021 - Collection of Q#-related blog posts.
- [The Hitchhiker's Guide to the Quantum Computing and Q#](https://blogs.msdn.microsoft.com/uk_faculty_connection/2018/02/26/the-hitchhikers-guide-to-the-quantum-computing-and-q-blog/)
- El Bruno's blog posts
- Q# Community