CMPUT 604 - Quantum Computing for Computing Scientists

Overview

This course introduces the theory and applications of quantum information and quantum computation from the perspective of computer science. The course will cover classical information theory, compression of quantum information, quantum entanglement, efficient quantum algorithms, quantum error-correcting codes, fault-tolerant quantum computation, and quantum machine learning. The course will also cover physical implementations of quantum computation into real quantum computers and their programming languages using real-world examples utilising state-of-the-art quantum technology through the IBM Q ExperienceMicrosoft Quantum Development Kit, and D-Wave Leap.

Objectives

The course main objectives are to learn the basic theory of quantum computing and to apply it to general computer science problems using modern quantum computers from IBM or D-Wave.

Topics

  • Introduction, bracket notation, unitary operations, orthogonal measurements, n-qubit states, entanglement, single-qubit, and controlled operations
  • Super-dense coding, incomplete measurements, quantum teleportation
  • Quantum Computing Computer Architectures
  • Quantum Computing Languages
  • Quantum circuit model of computation
  • Quantum error-correcting codes and fault-tolerance
  • Basic quantum algorithms like Deutsch-Jozsa, Simon, and Grover
  • Shor factoring algorithm
  • Computational complexity theory
  • Quantum entanglement, teleportation, and Bell inequalities
  • Quantum Fourier transforms and the hidden subgroup problem
  • Quantum query complexity, span programs, and the adversary method
  • Density matrices, state discrimination, tomography
  • Von Neumann entropy and Holevo's bound
  • Quantum machine learning

Course Work

  • Assignments
  • Projects

Related Research Areas

  • Machine Learning
  • Software Systems