# 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# - Manning, 2021, Sarah Kaiser and Chris Granade.
- Q# Pocket Guide - O’Reilly, 2022, Mariia Mykhailova.
- Introduction to Quantum Computing with Q# and QDK - Springer, 2022, Filip Wojcieszyn.
- Introducing Microsoft Quantum Computing for Developers - 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

## 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

- Visual Studio
- Visual Studio Code
- Emacs
- Atom
- Vim
- Jupyter Notebook

## 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
- 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#
- El Bruno’s blog posts
- Q# Community

qsharp.md Github