CS & Programming · Level 5
5.2 Quantum Computing
Solve hard problems by computing with quantum mechanics.
Made in collaboration with
The Nature of Computation
Computing with Circuits
Quantum Bits
A Black Box Puzzle
Information and Bits
Qubit Playground
Gates Galore
Superpositions
The Bloch Sphere
A Universal Gate Set
Entanglement
Qubits with Q#
Unitary Transformations (Optional)
Entanglement Circuit
Quantum Cryptography
Quantum Communication
Superdense Coding
Quantum Teleportation
Superdense Coding with Q#
Problem Complexity
Quantum Parallelism
The Problem with Oracles
Bigger Problems
The Promised Bits
Counterfeit Coins Redux
Oracles with Q#
Inspired by Nature
Spin Systems
Modeling Quantum Spins with Q#
Simulating Magnets with Q#
The Knapsack Problem
Packing a Knapsack with Q#
The Hydrogen Molecule with Q#
Course description
Learn to build quantum algorithms from the ground up with a quantum computer simulated in your browser in this course, created in collaboration with quantum researchers and practitioners from Microsoft, X, and Caltech's IQIM. 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.
Topics covered
- Qubits
- Quantum States
- Superposition
- Entanglement
- Quantum Gates
- NISQ Algorithms
- Cryptography
- Teleportation
- Superdense Coding
- Quantum Chemistry
- ⏳Grover Search
- ⏳Shor’s Algorithm
Prerequisites and next steps
A basic understanding of linear algebra with 2x2 matrices. Some familiarity with fundamental computer science principles would be useful, but is not required.