In this chapter, we will give an overview of what quantum computing is in contrast to classic computing, focusing on potential advantages quantum computers offer, compared to classic computers. We then go over the history of classic and quantum computing and provide an overview of the present day state of the art in computation. Finally, we provide an overview and an introduction to the approach taken in the book to teaching programming on quantum computers, including an outline of the chapter structure as well as instructions to download and set up necessary software tools. By the end of this chapter, you will be able to describe what a quantum computer is, why they are useful, and their present state of the art. We will also set up the environment to start developing your own quantum computing simulator in Python, to interact with existing quantum computer simulators and hardware via the Python library Qiskit, and to run directly on real quantum computing hardware, IBM QX.
The following topics will be covered in this chapter:
- What are quantum computers?
- The history, present, and future of quantum computing
- Setting up and running Python code examples
- Setting up and running IBM QX examples
- Setting up and running Qiskit examples