Quantum Computing

Introduction to Quantum Computing

Introduction to Quantum Computing is a two-semester course at Stanford OHS that covers various areas related to harnessing quantum mechanics to improve the efficiency of certain types of computation. 

What is quantum computing?

It was only in the 1980s that Richard Feynman suggested that to simulate quantum systems efficiently a new paradigm of computation was required that is inherently quantum mechanical. The most elementary way to describe quantum computation is the replacement in classical (non-quantum) computing theory with quantum objects having two possible outcomes when measured -a qubit. A classical bit has only two allowable states in which it can be in, 0 or 1. A qubit has two outcomes when measured, again 0 or 1, however a qubit can be in an infinite number of quantum states prior to measurement. 

A typical quantum algorithm involves manipulating (without measuring) a set of qubits such that the probability for the 'correct' answer is amplified while diminishing incorrect ones. 

One goal of the course is to examine various statements about quantum computation and determine what is hype (or incorrect) and what are valid explanations. It is commonly stated that quantum computing is powerful because it calculates all possible inputs simultaneously. This is incorrect! Quantum computation does not permit calculation of problems not possible with classical computers; it is about making particular algorithms significantly more efficient to calculate. 

In fact, the range of problems for which a quantum computer is thought to be more efficient is rather narrow. However, known theoretical results (e.g. Shor's prime factorization algorithm) would have a large impact on security and data encryption. 

Each semester, students explore a topic of their choosing in more depth, with some students programming on IBM's Qiskit platform, which permits small computations on an actual (though limited) quantum computer.