Okay, okay, okay… quantum computing isn’t easy. However, I started learning BASIC and Logo at a relatively young age (I might be dating myself here), and I was wondering if my future 6th grader could build, run, and understand at least the “hello, quantum world” experiment.
I had already given my student a high-level understanding of superposition and quantum entanglement, so I started with a review of both concepts. To ensure understanding, I then had my student explain both concepts back to me. We then sketched our circuit out on paper, along with the histogram that we should expect to see. I explained why we would not see perfect results on a real quantum processor, as well as why we would not see a perfect 50/50 split on a simulator either.
To keep our experiment as simple as possible, we used the IBMQ drag-and-drop circuit builder. As my student built our circuit, we not only reviewed what each gate was doing, we also glanced over to the circuit editor and watched the OpenQASM (Quantum Assembly Language) being written for us.
Mere minutes into our experiment, my student tapped the big blue “run” button and sent our circuit to the simulator. After reviewing the results, we went back to our circuit, tapped tbe big blue “run” button again, and sent our circuit to ibmqx2, a cloud-based, 5-qubit quantum processor.
I’m not sure how much further I will go with this, because I have also explained tunneling, teleportation, and higher dimensions, but I decided that this simple “hello, quantum world” experiment would be a good opportunity to make OpenQASM my student’s official first programming language.
This turned out to be not challenging at all, not just because the circuit is so small, but because we had reviewed the OpenQASM as we had used the drag-and-drop circuit builder. For the record, the whitespace issues (spaces between the q’s and the square brackets) are generated automatically; I normally edit them out as a matter of personal preference, but I wanted to keep this lesson as simple as possible.
Since we had already run the “hello, quantum world” experiment two out of the three ways we could do it, I decided we might as well review its Qiskit implementation. We didn’t actually run it, but we reviewed the code line-by-line, as well as the circuit drawing and the results.
The obvious question was why would anyone use Qiskit when the other two options are so much simpler. I gave a two-part answer: 1) you can do much, much more with Python and the Qiskit library than you can do with OpenQASM, and 2) albeit to Dr. Jay Gambetta’s chagrin, you can pronounce it “cheesekit” (Qiskit has no official pronunciation, but one pronunciation of qi is “chi,” which is energy, and quantum computing is fundamentally about energy; every child who has watched Kung Fu Panda 3 should pick up this reference quickly).
In conclusion, older elementary school students are not too young to start learning about quantum computing and trying it hands-on. I’m not sure how young they can be and still seem to grasp the high-level concepts, but my next-youngest student is a future 1st grader, so I’ll try to find out.