All Projects → msramalho → Teach Me Quantum

msramalho / Teach Me Quantum

⚛ 10 week Practical Course on Quantum Information Science and Quantum Computing - with Qiskit and IBMQX

Projects that are alternatives of or similar to Teach Me Quantum

learn-qc-with-python-and-qsharp
Companion code for Learn Quantum Computing with Python and Q# Book by Dr. Sarah Kaiser and Dr. Chris Granade 💖
Stars: ✭ 62 (-47.46%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Blueqat
Quantum Computer Library for Everyone
Stars: ✭ 298 (+152.54%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
qibo
A framework for quantum computing with hardware acceleration.
Stars: ✭ 120 (+1.69%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum-Computing-Resources
This repository contains the best resources for learning practical quantum computing. This repository will be updated frequently.
Stars: ✭ 60 (-49.15%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Strawberryfields
Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
Stars: ✭ 505 (+327.97%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
Quantum-Computer-Simulator-with-Algorithms
C++ simulator of quantum registers and quantum algorithms
Stars: ✭ 15 (-87.29%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Pyepr
Powerful, automated analysis and design of quantum microwave chips & devices [Energy-Participation Ratio and more]
Stars: ✭ 81 (-31.36%)
Mutual labels:  jupyter-notebook, quantum-computing, quantum
Monthly Challenges
Repository containing monthly challenges about quantum computing.
Stars: ✭ 126 (+6.78%)
Mutual labels:  quantum-algorithms, jupyter-notebook, quantum-computing
Quantumcomputingbook
Companion site for the textbook Quantum Computing: An Applied Approach
Stars: ✭ 386 (+227.12%)
Mutual labels:  jupyter-notebook, quantum-computing, quantum
Grove
Quantum algorithms built using pyQuil.
Stars: ✭ 332 (+181.36%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
unitaryhack
Rules and information for the 2021 unitaryHACK event hosted by @unitaryfund
Stars: ✭ 16 (-86.44%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Quantum Algorithms Tutorials
Tutorials for Quantum Algorithms with Qiskit implementations.
Stars: ✭ 115 (-2.54%)
Mutual labels:  quantum-algorithms, jupyter-notebook, quantum-computing
qcl
Quantum Computation Language port from http://tph.tuwien.ac.at/~oemer/qcl.html
Stars: ✭ 29 (-75.42%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Qpga
Simulations of photonic quantum programmable gate arrays
Stars: ✭ 68 (-42.37%)
Mutual labels:  jupyter-notebook, quantum-computing, quantum
Pytket
Python module for interfacing with the CQC t|ket> library of quantum software
Stars: ✭ 162 (+37.29%)
Mutual labels:  quantum-algorithms, jupyter-notebook, quantum-computing
Quantum-Computing-Collection-Of-Resources
A Well Maintained Repository On Quantum Computing Resources [Code+Theory] Updated Regularly During My Time At IBM, Qubit x Qubit And The Coding School's Introduction To Quantum Computing Course '21
Stars: ✭ 183 (+55.08%)
Mutual labels:  quantum, quantum-computing, quantum-algorithms
Qpanda 2
QPanda 2 is an open source quantum computing framework developed by OriginQC that can be used to build, run, and optimize quantum algorithms.
Stars: ✭ 128 (+8.47%)
Mutual labels:  quantum-algorithms, quantum-computing, quantum
Quantum
Microsoft Quantum Development Kit Samples
Stars: ✭ 3,453 (+2826.27%)
Mutual labels:  jupyter-notebook, quantum-computing, quantum
Awesome Ai Books
Some awesome AI related books and pdfs for learning and downloading, also apply some playground models for learning
Stars: ✭ 855 (+624.58%)
Mutual labels:  quantum-algorithms, jupyter-notebook, quantum-computing
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (-24.58%)
Mutual labels:  jupyter-notebook, quantum-computing, quantum

Teach Me Quantum

A university-level course on Quantum Computing and Quantum Information Science that incorporates IBM Q Experience and Qiskit. This course is adequate for general audiences without prior knowledge on Quantum Mechanics and Quantum Computing (see prior knowledge), has an estimated average duration of 10 weeks at 3h/week (see duration) and is meant to be the entrypoint into the Quantum World.

This course is Open-source and appropriate for both autodidacticism as well as classroom teaching by educators, professors and lecturers in their own classes. Given the dynamic nature of the topic, any open-source contributions and future improvements are welcome.

🏆 This project was the winner of IBM Q Teach Me Quantum award!

Course Overview

Prior Knowledge

Students of this course are expected to be familiar with (this can be done while going through the course):

  • Python language
  • Jupyter Notebook environment
  • Some linear algebra: inner and outer products, eigenvalues, norms, transpose, adjoints (complex conjugates), tensor product, ...

Learning Goals

After completing this course, students should be able to:

  • Understand the basics of Quantum Mechanics
  • Know how a computing model can be built around Quantum Mechanics
  • Understand the advantages, disadvantages and implications of Quantum Computing
  • Understand Quantum Information Science and how it contrasts with classical information theory
  • Leverage QISKit towards research and development in the Quantum World
  • Understand the empirical differences between Quantum Simulators and real Quantum Devices (such as those available in IBMQ)
  • Design, interpret and deploy quantum circuits (simulators and real processors)
  • Know and describe a few of the most common quantum algorithms: Deutsch, Grover, Shor
  • Be able to quickly understand new quantum algorithms based on the same principles: Simon, ...
  • Be able to quickly understand new principles of quantum computing: Adiabatic, ...
  • Understand the impact that the advance of quantum computers can have on the world as we know it
  • Understand High Level applications of near-end quantum algorithms, namely how to use qiskit-aqua for solving real world problems
  • Move on to deeper waters, by exploring according to their heart's desire!

Duration

  • Estimated average duration of 10 weeks at 3h/week
  • Duration is flexible depending on level of depth a teacher imposes on each week.
  • Usually 1h theory + 2h practice, except for:
    • week 0 (1h + 0h = 1h)
    • week 1 (1h + 1h = 2h)
    • week 9 (2h + 0h = 2h)
  • Estimated total time: 25h to 30h.

Customizing Slides

Reusing Slides

The materials in this course can be adapted to specific classes, contexts, schools,... to the desire of the educators.

The author, date and instute properties of each presentation is defined in the respective macros.sty file (this file is an exact copy for each week). If you want to update global settings for all weeks (like the author, update links colors, update code snippets display, ...) you can use the sh replicate_macros.sh (linux) | replicate_macros.bat (windows) to replicate the changes from a copy of the file for every week's folder (the source file must be in the utils folder, there is already an updated version of macros.sty in there).

The constraint for using this materials is to replace the \author[]{} command by the following command: \author[LASTNAME]{FIRSTNAME LASTNAME,\\ \scriptsize{based on slides by \textbf{Miguel Sozinho Ramalho}}} with the update author info.

Animating Slides

Each .pdf file for slides is static, but if you want to include animations you can do so by replacing the document class in the first line of the main.tex files by \documentclass[handout]{beamer}) and following these instructions.

Adding Notes to Slides

This can also be accomplished by appending the following lines before \begin{document}:

\usepackage{pgfpages}
\setbeameroption{show notes}
\setbeameroption{show notes on second screen=right}

Compiling LaTeX files

To achieve this use any LaTeX compiler of your choice, if you have pdflatex you can simply do pdflatex main.tex on each week's latex folder.

Presenting Slides with Notes and/or Animations

To present the slides with notes or with animations will only work with an external program, I advise dannyedel/dspdfviewer which also has dual screen and timer functionality.


Aditional notes

Each week's slides has a particular theme, that is to help students distinguish between them and strengthen the learning process by fostering association.

Final remarks

This was an excelent oportunity to both teach and learn. I have sought to come up with a methodology of how I wanted my quantum education to have been, hopefully this will help others with similar learning tastes. If not, oh well, shift happens...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].