## What is quantum computing?

Quantum computing is a field which aims to build a computer based on the principles of *quantum mechanics*. So, what is quantum mechanics? To explain this, suppose you throw a ball up into the air.
The motion of the ball as it rises and falls is well-described by a set of mathematical laws known as Newton's laws, or *classical mechanics*.
Classical mechanics has been around for centuries, its foundations laid by the famous scientist Sir Isaac Newton. Now, what happens if instead of throwing up a ball, you toss something much smaller - say, an electron? Or a photon? Just over a century ago, reknowned physicists such as Max Planck, Albert Einstein, and Erwin Schrödinger were coming to the startling conclusion that classical mechanics *fails miserably* in describing the behavior of such tiny subatomic particles. To address this, the physics community developed a new set of mathematical laws to describe this miniature world, known as *quantum mechanics*.

The goal of quantum computing is thus to build a machine which harnesses these new physical laws. How is this achieved? Roughly, in a modern computer chip, a bit is modeled by a transistor, which either has current running through it or not, with each case representing one of the states 0 or 1. In quantum computing, the goal is to replace the transistor, which is a macroscopic or *"classical"* object, by (say) an electron, which is a subatomic or *quantum* object. Then, a bit is instead encoded into some property of the electron, such as its spin. To perform a computation, a quantum computer thus manipulates (say) electrons, or quantum systems, instead of transistors, or "classical" systems.

## Why would we ever want to do this?

You might guess that building a quantum computer is hard, and indeed it is. So, why would we even want to do it? There are a number of reasons, ranging from simulating quantum systems in Nature to overcoming fundamental barriers in the design of modern computer chips. Let's focus on the following reason here: The laws of quantum mechanics are *bizarre*; they are radically different than those of classical mechanics, and this raises the natural question: Can we use this completely different set of rules to compute things faster than possible with classical computers? To demonstrate how counterintuitive quantum mechanics is, consider the example of the ball above: According to quantum mechanics, it's possible for the ball to be both on the ground and in the air *at exactly the same time*. This phenomenon is called *superposition*, and is explained further in the following clip (which is aimed at kids, making it twice as entertaining):

On a quantum computer, we can exploit superposition to set a bit to have value both 0 and 1, *at the same time*. In this sense, roughly, one can compute "multiple things at the same time". There is, however, a crucial catch: Even though we can compute many results simultaneously, quantum mechanics forbids us from *accessing* all but a small portion of the results! Despite this, clever uses of superposition have been discovered, such as Peter Shor's celebrated quantum algorithm for factoring in 1994. The takeaway message is thus that, while quantum mechanics exhibits remarkable phenomena such as superposition, exploiting such phenomena correctly is a highly non-trivial task, and therein lies one of the main challenges of quantum computing.