Interactive Course

Quantum Computing

Solve hard problems by computing with quantum mechanics.

Back

Overview

Made in collaboration with

Learn to build quantum algorithms from the ground up with a quantum computer simulated in your browser.

Quantum computing is an endeavor that's been promised to upend everything from codebreaking, to drug development, to machine learning. With so much hype, it's easy to get lost marveling at the possibilities, without grasping what quantum computing actually is.

Topics covered

  • Qubits
  • Quantum States
  • Superposition
  • Entanglement
  • Quantum Gates
  • NISQ Algorithms
  • Cryptography
  • Teleportation
  • Superdense Coding
  • Quantum Chemistry
  • ⏳Grover Search
  • ⏳Shor’s Algorithm

Interactive quizzes

33

Concepts and exercises

410+

Course map

Prerequisites and Next Steps

  1. 1

    Introduction

    Track down the origin of the quantum speed-up, then get acquainted with the qubit and its glorious choreography.

    1. The Nature of Computation

      Get a sense for what quantum computing is, and what it isn't. Hint: it's not magic.

      1
    2. Computing with Circuits

      A primer on gated-based computation with classical bits.

      2
    3. Quantum Bits

      An introduction to the qubit, the basic unit of quantum information.

      3
    4. A Black Box Puzzle

      Meet quantum parallelism and use it to find a fast solution to a classic puzzle.

      4
  2. 2

    Information

    Manipulate quantum states with gates, and build a universal quantum computer.

    1. Information and Bits

      The power of quantum computing isn't in information storage, it's in information processing.

      5
    2. Qubit Playground

      A primer on qubits, quantum states, and transforming qubits with gates.

      6
    3. Gates Galore

      A tour of the 1-qubit gates we'll be using in the course.

      7
    4. Superpositions

      A deep dive on superposition and basis states.

      8
    5. The Bloch Sphere

      Learn how to visualize all 1-qubit transformations geometrically.

      9
    6. A Universal Gate Set

      How many gates do we need to prepare any possible 1-qubit state?

      10
    7. Entanglement

      In most quantum states, it's impossible to think one qubit at a time.

      11
    8. Qubits with Q#

      Learn how to build quantum circuits using the quantum programming language Q#.

      12
    9. Unitary Transformations (Optional)

      Mathematical underpinnings for unitary operators (optional material).

      13
  3. 3

    Circuits

    Assemble quantum circuits for cryptography, super-dense information storage and quantum teleportation.

    1. Entanglement Circuit

      Learn how to build entanglement with a quantum circuit.

      14
    2. Quantum Cryptography

      Our first practical application, learn how entanglement is used (today) for absolutely secure communication.

      15
    3. Quantum Communication

      Can we use entanglement to send messages faster than light?

      16
    4. Superdense Coding

      Is it possible to send two classical bits in one qubit?

      17
    5. Quantum Teleportation

      Teleportation manifest. Learn how to send quantum states without sending any qubits.

      18
    6. Superdense Coding with Q#

      Program the superdense coding procedure using Q#, and then transform it into teleportation.

      19
  4. 4

    Foundational Algorithms

    Use quantum circuits to tackle classical problems and find out when a speed-up is possible.

    1. Problem Complexity

      Quantum computing promises to transform our hardest problems into tractable ones. But what’s a hard problem?

      20
    2. Quantum Parallelism

      People say that quantum computing can try every answer simultaneously. It can't. Here's what they mean.

      21
    3. The Problem with Oracles

      Oracle machines distill computer science problems to their essence, and let us clearly see quantum speedups.

      22
    4. Bigger Problems

      Extract an answer from an oracle, and catch a first glimpse of exponential quantum speedups.

      23
    5. The Promised Bits

      Get primed for real-world oracle problems by solving the Bernstein-Vazirani problem.

      24
    6. Counterfeit Coins Redux

      Can you solve the quantum counterfeit coin problem in a single attempt?

      25
    7. Oracles with Q#

      Program quantum oracles and queries with Q#, and use them to solve problems.

      26
  5. 5

    Near-Term Algorithms

    Use quantum operations to solve optimization problems and simulate physical systems.

    1. Inspired by Nature

      In the near term, quantum computers won't run Shor's, they'll be small and run algorithms inspired by nature.

      27
    2. Spin Systems

      Explore the Rosetta stone for encoding computational optimization problems in the language of qubits.

      28
    3. Modeling Quantum Spins with Q#

      Program spin systems in Microsoft's Q#, a language built to control real, near-term quantum computers.

      29
    4. Simulating Magnets with Q#

      Build spin models for magnetic matter in Q# and use quantum optimization to unlock their behavior.

      30
    5. The Knapsack Problem

      Acquaint yourself with a classic problem: maximizing the value of stolen loot. Then translate it to qubits.

      31
    6. Packing a Knapsack with Q#

      Here, you'll embed computational problems in spin systems and get a glimpse of entanglement's power.

      32
    7. The Hydrogen Molecule with Q#

      The first breakthroughs of quantum computing will likely be simulating the medicines and catalysts of tomorrow.

      33
  6. 6

    Coming soon

    Advanced Algorithms

  7. 7

    Coming soon

    Physical Qubits