  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.
