Courses & TutorialsProgramming
Awesome Quantum Computing – Massive Collection of Resources
Quantum computing utilizes quantum mechanical phenomenon such as entanglement and superposition to manipulate qubits to perform computation on a quantum computer. Currently available are tools to create and run programs on publicly usable quantum computers as well as resources to learn about them.
This is a curated list of up-to-date resources on learning about and developing on quantum computers. The goal is to build a categorized community-driven collection of up to date, high quality resources.
Contents
For further resources related to Open Source Quantum Software Projects, please check out qosf’s repo.
Learning
- An Interactive Introduction to Quantum Computing – Interactive learning for quantum gate computing by David Kemp.
- CNOT – Easy to understand, step by step introduction to quantum computing concepts.
- Chris Ferrie – Univeristy Professor in Sydney, Australia, author of Quantum Computing for babies (and many more) as well as excellent Quantum Computing lectures on Medium.
- Documentation for Forest and pyQuil – Tutorials for Rigetti Computing’s SDK.
- Documentation for Strawberry Fields – Background information on the photonic continuous-variable approach to quantum computation, as well as tutorials for Xanadu’s SDK.
- D-Wave Leap – Demos and educational resources as well as access to D-Wave’s quantum computer.
- IBM Q Full User Guide – Short tutorials providing a gentle introduction to quantum computing and IBM Q.
- John Preskill’s Notes on Quantum Computation – Notes of Caltech’s Quantum Computation Course Physics 219/Computer Science 219 by John Preskill.
- Nielsen and Chuang – Worked examples on quantum algorithm problems.
- Qiskit Tutorials – Jupyter notebooks simply demonstrating how to use Qiskit.
- Quantum Algorithm Implementations for Beginners – A brif survey of 20 different quantum algorithms using qiskit.
- Quantum Algorithm Zoo – Comprehensive catalog of quantum algorithms.
- Quantum Computer Programming – Hands on Stanford course teaching quantum computing to those without a quantum mechanical background.
- Quantum Computing Playground – 3D quantum state visualisation tool able to simulate up to 22 qubits.
- Quantum Computing UK – Free Qiskit tutorials and code repository
- Quantum Computing for the Very Curious – Essay introducing quantum computing by Michael Nielsen and Andy Matuschak.
- Quantum in the Cloud – Four qubit photonic quantum simulator and computer.
- Quantum Katas – Programming exercises for learning quantum computing and Q#.
- Quantum Machine Learning for Data Scientists – Explanation of quantum machine learning algorithms.
- Quirk – Browser-based drag-and-drop quantum circuit simulator that reacts, simulates, and animates in real-time.
- The Quantum Quest – Introductory web class on quantum computing principles designed for high school students.
MOOCs
- Brilliant.org Quantum Computing – Explanations through problems. Curated along with Microsoft and Alphabet X.
- MIT Quantum Information Sciences – Series of lecture notes on the MIT quantum information sciences course.
- QC101 Quantum Computing & Quantum Physics for Beginners – Introductory course on quantum cryptography and how to run quantum programs.
- Quantum Computing: Theory to Simulation and Programming – Understanding the D-Wave Quantum Annealer architecture along with a few practical tasks.
- Quantum Cryptography – Learn how quantum communication provides security that is guaranteed by the laws of nature.
- Quantum Information Science I, Part I – Foundational course on quantum information and computation.
- Quantum Machine Learning – Learn about the benefits quantum technologies can provide to machine learning.
- Quantum Mechanics and Quantum Computation – Conceptual introduction to the fundamental principles of quantum mechanics.
- The Introduction To Quantum Computing – A subtle introduction to computation, the math behind it and its quantum counterparts followed by in-depth discussion of a few quantum algorithms.
- The Quantum Internet and Quantum Computers: How Will They Change the World? – Learn the principles and promises behind developments in quantum computers and quantum internet and how they will impact our future.
- Understanding Quantum Computers – Introduction to the key concepts of quantum computing with minimal mathematics.
Development Tools
- Amazon Braket – Fully managed service providing a development environment to run quantum circuits on quantum simulators and computers.
- Blueqat – Software development kit in Python for quantum gate computing.
- Cirq – Python library for writing, manipulating, and optimizing NISQ circuits to run on quantum computers.
- IBM Quantum Experience – Online quantum composer to run experiments on real quantum computing hardware.
- Mitiq – Python toolkit for implementing error mitigation techniques on quantum computers.
- NISQAI – Library for performing quantum artificial intelligence on near-term quantum computers.
- Ocean – D-Wave’s SDK for developing on their quantum computers using Python.
- Orquestra – Zapata Computing’s unified quantum operating environment, allowing for quantum-enabled workflows.
- Paddle Quantum – Baidu’s python toolkit for quantum machine learning.
- PennyLane – Open source framework for quantum computing and quantum machine learning that integrates various other platforms.
- Project Q – Framework for implementing quantum computing in Python.
- pyQuil – Python library for quantum programming using Quil by Rigetti.
- pytket – Python module for interfacing with Cambridge Quantum Computing’s t|ket>; a tool for circuit optimising and qubit allocation.
- QCL – Older, C like language for quantum computers. Only has a simulator and debugger.
- Qiskit SDK – Software development kit by IBM for writing and running quantum algorithms on simulators and real hardware.
- Qiskit.js – Qiskit for JavaScript made by IBM.
- Qrack – High performance LGPL-licensed C++ quantum simulator library, documentation, and test code.
- Quantum++ – High performance modern C++11 quantum computing library.
- Quantum Programming Studio – Web based quantum programming IDE and simulator.
- Quipper – Embedded, scalable, functional programming language for quantum computing.
- Qurry – Quantum probabilistic programming language based on functional and probabilistic paradigms.
- QuTiP – Quantum toolbox in Python for simulating dynamics of open quantum systems.
- Q# – Microsoft quantum development kit and Q# programming language.
- Strangeworks Platform – A hardware agnostic platform and interface allowing for focus on development rather than specific hardware solution building.
- TensorFlow Quantum – A quantum machine learning library that integrates Cirq with TensorFlow for prototyping of hybrid quantum-classical models for classical or quantum data.
- Tequila – An Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik group (University of Toronto).
Blogs
- Algorithmic Assertions – About quantum computing and computing in general by Craig Gidney – a member of Google Quantum Computing Team.
- Bits of Quantum – By the QuTech institution, sharing their research and daily life.
- Dawid Kopczyk – Quantum algorithms explained to data scientists with visualisations.
- Decodoku – Interesting posts on quantum computation, by James Wootton.
- Microsoft Quantum blog – Microsoft Quantum program-wide updates.
- Musty Thoughts – Personal blog of MichaÅ‚ StÄ™chÅ‚y, includes many articles for people starting to learn about quantum computing.
- Qiskit blog – All about quantum computation from the Qiskit community team.
- Quantumfy – Snippets on the latest quantum computing news.
- Quantum Frontiers – By the Quantum Institute for Quantum Information and Matter, sharing behind the scenes research insights.
- Quantum Weekly – A weekly correlation of all things quantum – computing, cryptography, entanglement.
- Quantum Zeitgeist – Covers the latest news in quantum computing as well as QC companies and careers.
- Q# Blog – Microsoft Quantum development updates.
- Shtetl-Optimized – Scott Aaronson’s thoughts on quantum computing matters.
- The Quantum Aviary – Blog without the hype talking about developments in quantum hardware.
- The Quantum Daily – Outlet for the latest news in quantum computing, presenting articles for both research scientists and the curious Sunday newspaper reader.
Books
- Classical and Quantum Computation – Introduction to fundamentals of classical and quantum computing.
- Dancing with Qubits – How quantum computing works and how it can change the world.
- Learn Quantum Computation using Qiskit – An open-source textbook covering
quantum algorithms and showing how to run them on real hardware using Qiskit. Also covers prerequisites. - Learn Quantum Computing with Python and Q# – Introduces quantum computing using Python and Q#, Microsoft’s new language for quantum programming.
- Problems and Solutions in Quantum Computing – Easy to advanced quantum computing and information problems with detailed solutions.
- Programming Quantum Computers: Essential Algorithms and Code Samples – Hands-on introduction to quantum computing that focuses on concepts and programming examples (in multiple languages).
- Quantum Computation and Quantum Information – Comprehensive textbook for those with some prior knowledge in mathematics, computer science and physics.
- Quantum Computing: An Applied Approach – A hands on introduction into quantum computing that explains the foundations of quantum computing to the mathematics behind quantum systems.
- Quantum Computing: A Gentle Introduction – Explains quantum computing with only basic college maths knowledge needed.
- Quantum Computing Explained – Conversational approach to explaining quantum computing with worked solutions.
- Quantum Computing for Computer Scientists – Quantum computing explained using an approach accessible to undergraduate computer science students.
- Quantum Computing for Java Developers – Explains quantum computing through the lens of its practical implementation.
Videos
- Anastasia Marchenkova – Youtube channel focusing on quantum computing topics and general technology.
- Circuit Sessions – Qiskit series exploring the value and use of quantum circuits through a lecture series by academics and industry researchers.
- Coding with Qiskit video series – YouTube video series showing how to write quantum algorithms.
- Introduction to Quantum Programming – The why and how of quantum programming with a focus on the Python Forest SDK from Rigetti.
- Quantum Computing for Computer Scientists – Microsoft Research Talk on introductory quantum computing for computer scientists. Duration: 1 hour, 28 minutes.
- Quantum Computing for the Determined – A series of lectures on quantum computing basics by Michael Nielsen.
- Quantum Computation and Information at CMU – A series of lectures on quantum computing by Professor O’Donnell at CMU.
- Quantum Impact – Understand how quantum computing can help scientists solve some of the world’s most challenging problems such as land optimisation.
- Quantum Computing Seminar Series – Qiskit series discussing recent research.
Community
- D-Wave Leap Community – D-Wave System’s Leap Community Forum.
- IBM Q Community – IBM Q Community page with list of upcoming events and latest programs.
- IBM Q Qiskit Community – Slack Channel for Qiskit and quantum computing discussions.
- Mike & Ike Subreddit – Discussion about the book Quantum Computation and Quantum Information.
- Pennylane Discussion Forum – Discussion forum for quantum machine learning, both using simulations and on near term hardware.
- Quantum Computing Slack Community – Slack channels for discussion of quantum computing.
- Quantum Computing StackExchange – Question and answer site for quantum computing.
- Quantum Computing Subreddit – Community for discussion of many quantum computing topics.
- Quantum Inferiority – Quantum Programming Chat on matrix, language agnostic, expertise not required.
- Quantum Information and Quantum Computer Scientists of the World Unite – Facebook group for quantum research discussion.
- Q# Community – Community contributed libraries, projects, and demos for the Q# language.
- Rigetti Community – Slack Channel for Rigetti and quantum computing discussions.
- Strawberry Fields Community – Slack channel for Xanadu and Strawberry Fields photonic/CV quantum computing discussions.
Podcasts
- Meet the meQuanics Interviews with key quantum computing figures, aimed at the lay person.
- Quantum Computing Now – Podcast by Ethan Hansen covering three main topics: the basics of quantum computing, interviews and the latest news.