Introduction to quantum programming
Peter Selinger
(Dalhousie University).
Course Summary 
About the lecturer 
Location and schedule 
Materials
As an idea, quantum computing has been around for more than 30 years. During most of this time, practical quantum computers were considered a farinthefuture prospect. Consequently, most research focused on theoretical questions, such as quantum algorithms and their asymptotic complexity. This has begun to change in the last few years, as a number of teams have made significant advances toward building a scalable quantum computer. Suddenly, the issue of how one would program a quantum computer in practice has taken on new urgency.
In these lectures, I will give an introduction to quantum computing from the point of view of programming. I'll introduce the computational model and a simple programming language. I'll discuss the semantics of the language, and some of the issues that arise in compiling it to run on actual quantum hardware. I'll also comment on the important subproblem of optimizing quantum circuits for a particular gate set. No prior knowledge of quantum mechanics or quantum computing will be assumed.
About the lecturer:Peter Selinger is a Professor of Mathematics and Computer Science at Dalhousie University. He received his PhD from the University of Pennsylvania in 1997. His main research interest is the semantics of programming languages, and specifically the theory of programming languages for quantum computing, which he helped pioneer.
Location and schedule:5440.



Materials
Slides
Some papers containing the material covered in the lectures:
 The material on mixed states and flow charts is in this paper
 The approximation algorithm
 The software
Assignment: problem set. Please submit the solutions to selinger at mathstat.dal.ca by Saturday December 1.