Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Quantum Computing

via Brilliant


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.
Our focus is learning how to exploit the laws of quantum mechanics in order to compute. By the end, you'll know your way around the world of quantum information, have experimented with the ins and outs of quantum circuits, and have written your first 100 lines of quantum code — while remaining blissfully ignorant about detailed quantum physics.


  • Introduction: Track down the origin of the quantum speed-up, then get acquainted with the qubit and its glorious choreography.
    • The Nature of Computation: Get a sense for what quantum computing is, and what it isn't. Hint: it's not magic.
    • Computing with Circuits: A primer on gated-based computation with classical bits.
    • Quantum Bits: An introduction to the qubit, the basic unit of quantum information.
    • A Black Box Puzzle: Meet quantum parallelism and use it to find a fast solution to a classic puzzle.
  • Information: Manipulate quantum states with gates, and build a universal quantum computer.
    • Information and Bits: The power of quantum computing isn't in information storage, it's in information processing.
    • Qubit Playground: A primer on qubits, quantum states, and transforming qubits with gates.
    • Gates Galore: A tour of the 1-qubit gates we'll be using in the course.
    • Superpositions: A deep dive on superposition and basis states.
    • The Bloch Sphere: Learn how to visualize all 1-qubit transformations geometrically.
    • A Universal Gate Set: How many gates do we need to prepare any possible 1-qubit state?
    • Entanglement: In most quantum states, it's impossible to think one qubit at a time.
    • Qubits with Q#: Learn how to build quantum circuits using the quantum programming language Q#.
    • Unitary Transformations (Optional): Mathematical underpinnings for unitary operators (optional material).
  • Circuits: Assemble quantum circuits for cryptography, super-dense information storage and quantum teleportation.
    • Entanglement Circuit: Learn how to build entanglement with a quantum circuit.
    • Quantum Cryptography: Our first practical application, learn how entanglement is used (today) for absolutely secure communication.
    • Quantum Communication: Can we use entanglement to send messages faster than light?
    • Superdense Coding: Is it possible to send two classical bits in one qubit?
    • Quantum Teleportation: Teleportation manifest. Learn how to send quantum states without sending any qubits.
    • Superdense Coding with Q#: Program the superdense coding procedure using Q#, and then transform it into teleportation.
  • Foundational Algorithms: Use quantum circuits to tackle classical problems and find out when a speed-up is possible.
    • Problem Complexity: Quantum computing promises to transform our hardest problems into tractable ones. But what’s a hard problem?
    • Quantum Parallelism: People say that quantum computing can try every answer simultaneously. It can't. Here's what they mean.
    • The Problem with Oracles: Oracle machines distill computer science problems to their essence, and let us clearly see quantum speedups.
    • Bigger Problems: Extract an answer from an oracle, and catch a first glimpse of exponential quantum speedups.
    • The Promised Bits: Get primed for real-world oracle problems by solving the Bernstein-Vazirani problem.
    • Counterfeit Coins Redux: Can you solve the quantum counterfeit coin problem in a single attempt?
    • Oracles with Q#: Program quantum oracles and queries with Q#, and use them to solve problems.
  • Near-Term Algorithms: Use quantum operations to solve optimization problems and simulate physical systems.
    • Inspired by Nature: In the near term, quantum computers won't run Shor's, they'll be small and run algorithms inspired by nature.
    • Spin Systems: Explore the Rosetta stone for encoding computational optimization problems in the language of qubits.
    • Modeling Quantum Spins with Q#: Program spin systems in Microsoft's Q#, a language built to control real, near-term quantum computers.
    • Simulating Magnets with Q#: Build spin models for magnetic matter in Q# and use quantum optimization to unlock their behavior.
    • The Knapsack Problem: Acquaint yourself with a classic problem: maximizing the value of stolen loot. Then translate it to qubits.
    • Packing a Knapsack with Q#: Here, you'll embed computational problems in spin systems and get a glimpse of entanglement's power.
    • The Hydrogen Molecule with Q#: The first breakthroughs of quantum computing will likely be simulating the medicines and catalysts of tomorrow.
  • Advanced Algorithms: Construct quantum circuits to solve problems like search and integer factoring.
  • Physical Qubits: Learn how to build a qubit with light, super-conductors, and topological braids.


Start your review of Quantum Computing

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.