What Classic Software Developers Need to Know About Quantum Computing & How IBM’s Quantum Challenge Teaches How to Become a Quantum-Ready Developer
(ZDNet) Software developers will need to learn new ways of writing programs for quantum computers before the technology can become a practical alternative for businesses.
Bill Detwiler interviews Abe Asfaw, Global Lead, Quantum Education and Open Science at IBM, who explains the 2020 Quantum Challenge and the challenges developers face when trying to write programs for quantum computers.
Asfaw explains that the IBM Quantum Challenge is one of our many attempts to make sure that everyone becomes quantum-ready, everyone can do quantum computing, can program a quantum computer. So it’s a set of four exercises that they can take with their families. And at the end of the day, what we hope to achieve from this process is that everyone is equipped to be able to program a quantum computer.
In the first exercise, what we thought we would do is walk people through this model of computation where we show what it takes to build a quantum circuit. When you build a quantum circuit, you’re putting on quantum gates on different qubits. So we show what each quantum gate does to each qubit, and we build up from there.
IBM has several tools to be able to get you from knowing classical computing to being a quantum-ready developer. So one of the things that we do is make an open-source textbook available online, and several people have been looking through this textbook. So for this challenge, what we did is take snippets of the textbook and put them in with exercises that walk people through the material, solve a problem, walk through more materials, solve the problem, and gradually you develop that terminology that you mentioned where you go from classical development to quantum development.
The second exercise is takes users from what a quantum circuit is to then running it on a real quantum computer. So, everyone gets experience running the quantum circuits that they built in the first exercise and the second one. And really the kind of experience that you get from doing that is valuable.
As you’re doing quantum programming, the two hardest parts to get used to are: one, that you simply can’t do measurements like you used to be able to do on a real system; and secondly, the rules of quantum mechanics are just so different. Here, instead of using classical computing techniques, what you’re doing is taking advantage of superposition, which is the ability to take a quantum state and have it become a combination of different basis states, to have interference between quantum states, and to have entanglement between quantum systems. So these three rules are very unfamiliar to a classical developer, and that’s what you have to take advantage of to build quantum algorithms.