# Quantum Computing

## Solve hard problems by computing with quantum mechanics.

Back

#### Overview

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

33

410+

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