# Awesome Q# [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re) > [Q#](https://docs.microsoft.com/en-us/quantum/) 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](https://en.wikipedia.org/wiki/Q_Sharp) A list of Q# code and resources. Feel free to improve this list using GitHub pull request mechanism, see [CONTRIBUTING](contributing.md) for more information. ## Contents - [Official Resources](#official-resources) - [Tutorials](#tutorials) - [Books](#books) - [Videos](#videos) - [Q/A](#qa) - [Coding Contests and Solutions](#coding-contests-and-solutions) - [IDE Integration](#ide-integration) - [Demos, Samples, and Additional Libraries](#demos-samples-and-additional-libraries) - [Blogs](#blogs) ## Official Resources - [Installation guide](https://docs.microsoft.com/en-us/quantum/quantum-installconfig) - [Q# samples](https://github.com/Microsoft/Quantum) - [Q# libraries](https://github.com/Microsoft/QuantumLibraries) - [Quantum Development Kit documentation](https://docs.microsoft.com/quantum/) - Specially "Quantum computing concepts" gives a good introduction to quantum computing in general. - [Quantum Computing Libraries for noncommercial use](https://github.com/Microsoft/Quantum-NC) - [Q# libraries for the Quantum Development Kit](https://github.com/microsoft/QuantumLibraries) ## Tutorials - [Quantum Katas](https://github.com/Microsoft/QuantumKatas/) - Programming exercises for learning Q# and quantum computing. - [Quantum Kata Notebooks](https://mybinder.org/v2/gh/Microsoft/QuantumKatas/master?filepath=index.ipynb) - Online self-paced tutorials for learning Q# programming and quantum computing. - [Create your first Q# program by using the Quantum Development Kit](https://docs.microsoft.com/en-us/learn/modules/qsharp-create-first-quantum-development-kit/) - Microsoft Learn module. - [Deutsch-Jozsa Algorithm](https://github.com/Microsoft/GHC18-IntroToQuantumComputing/) - Materials for self-paced "Introduction to Quantum Computing" workshop presented at Grace Hopper Celebration 2018 and Hopper x1 Seattle 2019. - [Quantum Perceptron](https://github.com/Microsoft/MLADS2018-QuantumML) - Materials for self-paced "Introduction to Quantum Machine Learning" workshop presented at MLADS 2018. - [Quantum Classification](https://github.com/microsoft/MLADS2020-QuantumClassification) - Materials for self-paced "Introduction to Quantum Classification" lab presented at MLADS 2020. - [Quantum Computing with Microsoft QDK](https://www.manning.com/liveprojectseries/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](https://www.sckaiser.com/) and [Chris Granade](https://www.cgranade.com/). - [Q# Pocket Guide](https://www.oreilly.com/library/view/q-pocket-guide/9781098108854/) - 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](https://www.youtube.com/watch?v=v7b4J2INq9c) - Krysta Svore - step-by-step demo of quantum teleportation at Microsoft Mechanics. - [Introduction to Quantum Programming through the Quantum Katas](https://www.youtube.com/watch?v=h3M8OomE19o) - Bettina Heim, Microsoft Ignite 2018 session ([here](https://www.youtube.com/watch?v=AjBLsrGgEkY) 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#](https://www.youtube.com/watch?v=YE4m3yCdcqE) - John Azariah, Microsoft Build 2018 session. - [Programming quantum computers in .NET using Microsoft Q#](https://www.youtube.com/watch?v=qOg6weW-IDo) - Rolf Huisman. - [Quantum computing sessions at //Build](https://mybuild.microsoft.com/sessions?q=quantum) ## Q/A - [Q# tag on Stack Overflow](https://stackoverflow.com/questions/tagged/q%23) - [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)](https://codeforces.com/contest/1002) - [Microsoft Q# Coding Contest (Summer 2018) Warmup Round](https://codeforces.com/contest/1001) - Solution descriptions for [Microsoft Q# Coding Contest (Summer 2018)](https://assets.codeforces.com/rounds/997-998/main-contest-editorial.pdf) and for the [Warmup Round](https://assets.codeforces.com/rounds/997-998/warmup-editorial.pdf) - [Microsoft Q# Coding Contest (Winter 2019)](https://codeforces.com/contest/1116) - [Microsoft Q# Coding Contest (Winter 2019) Warmup Round](https://codeforces.com/contest/1115) - Solution descriptions for [Microsoft Q# Coding Contest (Winter 2019)](https://codeforces.com/blog/entry/65702) and for the [Warmup Round](https://assets.codeforces.com/rounds/1115/warmup-editorial.pdf) - [Microsoft Q# Coding Contest (Summer 2020)](https://codeforces.com/contest/1357) - [Microsoft Q# Coding Contest (Summer 2020) Warmup Round](https://codeforces.com/contest/1356) - Solution descriptions for [Microsoft Q# Coding Contest (Summer 2020)](https://codeforces.com/blog/entry/79208) and for the [Warmup Round](https://codeforces.com/blog/entry/78832) ### Participants' solutions - [Solutions to the 2018 Microsoft Q# Coding Challenge and Warm-Up on Codeforces](https://github.com/RobertDurfee/QSharpCodingChallenge) - [Q# codes by Hiroshi Kurokawa](https://github.com/hkurokawa/QSharpCodingContest2018) - [No Description_ by Hajime Fukuda](https://github.com/hajifkd/qsharp-vscode) ## IDE Integration - [Visual Studio](https://marketplace.visualstudio.com/items?itemName=quantum.DevKit) - [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=quantum.quantum-devkit-vscode) - [Emacs](https://github.com/forked-from-1kasper/emacs-qsharp-mode) - [Atom](https://github.com/ivangabriele/atom-qsharp) - [Vim](https://github.com/gootorov/q-sharp.vim) - [Jupyter Notebook](https://docs.microsoft.com/en-us/azure/quantum/install-jupyter-qdk) ## Demos, Samples, and Additional Libraries - [Quantum Computing Q# Introduction 2018](https://github.com/Djohnnie/QuantumComputingQSharpIntroduction2018) - [A implementation of Shor's algorithm written in Python calling Q# for the quantum part](https://github.com/Michaelvll/myQShor) - [Hadamard Gate Q# Demo](https://github.com/jwulf/HGate) - [Q# Bell State Program](https://github.com/pktippa/q_sharp_bell_state) - [Q# playgroud](https://github.com/weize07/Qsharp-playgroud) - [QuantumPeep](https://github.com/mapmeld/quantum-peep) - Generate Q# from JavaScript/TypeScript. ## Blogs - [Q# Dev Blog](https://devblogs.microsoft.com/qsharp/) - Official blog of Q# dev team. - [Microsoft Quantum Blog](https://cloudblogs.microsoft.com/quantum/) - Official blog of Microsoft Quantum team. - [Q# Advent Calendar 2018](https://devblogs.microsoft.com/qsharp/q-advent-calendar-2018/) - Collection of Q#-related blog posts. - [Q# Advent Calendar 2019](https://devblogs.microsoft.com/qsharp/q-advent-calendar-2019/) - Collection of Q#-related blog posts. - [Q# Advent Calendar 2020](https://devblogs.microsoft.com/qsharp/q-advent-calendar-2020/) - Collection of Q#-related blog posts. - [Q# Advent Calendar 2021](https://devblogs.microsoft.com/qsharp/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](https://elbruno.com/tag/q/) - [Q# Community](https://qsharp.community)