Quantum computing may revolutionize the way we solve complex problems, or it might be a multi-billion-dollar boondoggle. Either way, it’s an interdisciplinary technology that bridges gaps between Computer Science, Physics, Engineering, and Mathematics. Quantum computing algorithms depend on two properties of quantum physics: superposition and entanglement. As a result, quantum bits (qubits) interact in ways that must be described probabilistically, and combining the probabilities requires tools from linear algebra. Programming a quantum computer means writing instructions that rely heavily on mathematical abstractions.
Quantum computing algorithms bear little resemblance to the algorithms we’re used to developing. These algorithms show students an entirely new way to solve problems. But quantum algorithms have a steep learning curve. A typical college-level course has several math prerequisites. A course of this kind starts by assuming that students intend to specialize in quantum computing.
We’ve distilled much of the introductory material in a Quantum Computing course at Drew University. In this course, students learn the reasoning that underlies quantum computing algorithms with examples that use only elementary matrix multiplication. They write quantum computing programs and run the programs on real quantum computers in the cloud.
This tutorial presents a fast-track version of the Drew University course. Using free software, participants write and run basic quantum computing code.