Abstract
Quantum computing is a new emerging computer technology. Current quantum computing devices are at a development stage where they are gradually becoming suitable for small real-world applications. This lecture is devoted to the practical aspects of programming such quantum computing devices. The first part of these lecture notes focuses on programming gate-based quantum computers, and the second part shows how to program quantum annealers.