# COOC: Programming Quantum Computers

COOC = “Corona Open Online Course”

Coro will be with us for some time. Many courses don’t take place with the same intensity, many students are bored.
We decided to try to offer a non-credit quantum computing course. The hope is that with an exciting topic, motivating assignments, and regular online class meetings, we can break the Coro Blues a little bit.

The course will start from scratch: Background in quantum mechanics is not needed.

Here’s the plan.

##### Content

The course will be based on:

*) Qiskit is IBM’s collection of Python libraries to design quantum circuits and send them to be executed on a cloud quantum computing device, or locally with a simulator.

##### Organization
• Mondays 16:15-17:45 class meetings
• Discuss assigned textbook reading (and video lecture watching)
• Assign new textbook reading and videos
• Wednesdays 16:15-17:45 class meetings (probably not every week)
• Each group presents their solution to the programming assignment
• Discussing new programming assignments.

Class meetings will be on Telegram (because it works with MathJax (LaTeX) and allows to edit previous messages (to correct LaTeX mistakes!)) and Skype for discussing source code (via screen sharing) and human-ish interaction.

##### Required Background

Background in quantum mechanics is not needed.

Basic mathematics. While the Qiskit Textbook covers some of the mathematics that’s required for basic quantum computing, we don’t want to waste time on discussing, say, complex numbers or matrix arithmetic.

Programming. All programming will be done in Python, but if you have ever programmed a computer, you’ll learn Python in an hour. There’s a link to a Python tutorial below.

Every student of math and/or physics in at least the 2nd semester will have all the needed background.

##### What you need (get it now!)
1. Telegram (web.telegram.org) account.
2. Skype account.
3. To see $\LaTeX$ formulas in Telegram, add the “render MathJax” link to your bookmarks. Follow the instructions here: www.math.ucla.edu/~robjohn/math/mathjax.html. Try it out:$$\frac{d|\psi\rangle}{dt} = -iH|\psi\rangle$$
4. A computer
5. Some basic Python (e.g., from this post on Medium).

As you can see, lack of programming skills is less of a problem than lack of math :-).
The following are discussed in the first couple of lecture videos:

• Setting up Anaconda Python on your computer
• Using Jupyter Notebook.

See you on Monday!

Assoc. Prof. Dirk Oliver Theis
PhD candidate Bahman Ghandchi

## 4 thoughts on “COOC: Programming Quantum Computers”

1. DOT says:

Reading assignment for Monday, May 4:

– in the Qiskit Textbook, read Sections 3.7-8; optionally also 3.9

___________________________

Third textbook assignment to read by the class e-meeting on Monday, April 20:

– In the Qiskit Textbook, read Sections 2.5 and 3.1 to 3.3

___________________________

Second textbook assignment to read by the class e-meeting on Monday, April 13:

– In the Qiskit Textbook, read Sections 1.4 to 2.3

___________________________

First textbook assignment to read by the class e-meeting on Monday, April 6:

– In the Qiskit Textbook, read Sections 0.3 to 1.3.