Need help with qml-mooc?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

148 Stars 70 Forks Other 256 Commits 1 Opened issues


Lecture notebooks and coding assignments for the quantum machine learning MOOC created by Peter Wittek on EdX in the Spring 2019

Services available


Need anything else?

Contributors list

Note: this a fork of the original Gitlab repository of the MOOC, along with the official solutions. Since Peter Wittek, the creator of the MOOC, disappeared in an avalanche in October 2019, the future of the MOOC on edX is uncertain. This repository, along with the videos, should allow his work to survive and benefit everyone who wants to learn about quantum machine learning! Enjoy!

Quantum Machine Learning

The pace of development in quantum computing mirrors the rapid advances made in machine learning and artificial intelligence. It is natural to ask whether quantum technologies could boost learning algorithms: this field of enquiry is called quantum machine learning. This massively open online online course (MOOC) on edX is offered by the University of Toronto on edX with an emphasis on what benefits current and near-future quantum technologies may bring to machine learning. These notebooks contain the lecture notes and the code for the course. The content is organized in four modules, with an additional introductory module to the course itself.

Since the course is hands-on, we found it important that you can try the code on actual quantum computers if you want to. There isn't a single, unified programming framework that would allow to address all available quantum hardware. For this reason, the notebooks are available in two versions: one in Qiskit targeting the IBM Q hardware and the Forest SDK targetting the Rigetti quantum computer. The notebooks also cover quantum annealing -- for that, the D-Wave Ocean Suite is used. For more details on setting up your computational environment locally, refer to the notebooks in Module 0.

The code snippets in the notebooks are licensed under the MIT License. The text and figures are licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0).


Python and a good command of linear algebra are necessary. Experience with machine learning helps.


Module 0: Introduction





Module 1: Quantum Systems





Module 2: Quantum Computation





Module 3: Classical-quantum hybrid learning algorithms





Module 4: Coherent Learning Protocols




The assignments are included, but without the solutions. The master version is developed in a separate private repository. If you are an interested in using them for your own lectures, please contact us to give you access.


We welcome contributions - simply fork the repository, and then make a pull request containing your contribution. We would especially love to see the course extended to other open source quantum computing frameworks. We also encourage bug reports and suggestions for enhancements.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.