Learning Quantum
  • Project Scope and Purpose
  • Getting Started
    • Need to Know
    • Resources
  • Linear Algebra
    • Linear Algebra Summary
      • Math References
    • Basics
    • Vector Relationships
    • Span, Basis and Spaces
    • Transformations
  • Physics
    • Physics Summary
      • Physics References
    • Classical Mechanics
    • Quantum Mechanics
  • Qubits
    • Qubits Summary
      • Qubit References
    • Classical Bits
    • Quantum Bits
    • Multi-Qubit Systems
  • Quantum Circuits
    • Quantum Circuit Summary
      • Quantum Circuit References
    • Classical Models of Computation
    • Quantum Information
    • Single Qubit Gates
    • Multi-Qubit Gates
  • IBMQ
    • IBMQ Summary
    • Getting Access to IBM Quantum
    • IBMQ Tools
    • Using Quantum Gates - The Circuit Composer
  • Qiskit
    • Qiskit Overview
    • Installing Qiskit
    • Parts of a Qiskit Program
    • Writing a Qiskit Program
  • Supplementary
  • Quantum Safe Algorithms
Powered by GitBook
On this page
  • Where you should start
  • Math
  • Need to know
  • Good to know
  • Physics
  • Need to know
  • Computer Science
  • Need to know
  • Python
  • Conclusion

Was this helpful?

  1. Getting Started

Need to Know

What you need to know before you get started with these tutorials.

Where you should start

Quantum computers are very weird, and they can seem like total incomprehensible nonsense if you're a beginner. Here I'll list concepts you need to understand before you get started learning.

For those of you at the University of Windsor, I'll also be including the names of courses that cover this material. I highly recommended that you take or be taking them before you begin your first project.

Math

Quantum stuff is all handled with linear algebra, so it stands to reason that you'll need to know a little bit about that before you can get started.

Need to know

  • Matrix math (adding, multiplying)

  • Vectors

  • Linear combinations

  • Linear dependence / independence

  • Span and basis

  • Normalization

Good to know

  • Projection

  • Orthogonalization

Physics

A deep understanding of physics actually won't be totally necessary. What you will need is some understanding of key concepts.

Need to know

  • Position & momentum

  • Vectors

  • Newton's second law

Computer Science

If you're a computer science student this stuff will be relatively trivial for you. At the University of Windsor you should have a solid enough grasp of these concepts by the time you get to second year.

Need to know

  • How to write algorithms and asses their quality

  • Computer / formal logic

  • Understanding of circuits and logic gates

  • COMP-1000: Key Concepts in Computer Science

  • COMP-1400 & COMP-1410: Introduction to Algorithms and Programming I & II

  • COMP-2560: Systems Programming

  • COMP-2650 & COMP-2660: Computer Architecture I & II

Python

Conclusion

The rest of this website will assume you have good understanding of all these concepts. If not, you ought to take some time to go through and touch on each of these topics. If you need some support, or are looking for more learning resources, feel free to leave a comment.

PreviousProject Scope and PurposeNextResources

Last updated 5 years ago

Was this helpful?

All of these concepts are covered in the class

If you've had a chance to take , that would be stellar. If not, you'll want to take a moment to brush up on high school physics.

Here's a list of courses I would recommend. You can .

All the programming in this tutorial will be done in , using the Qiskit library. Not only is python super easy to learn but is very handy to know in general. There are a million great tutorials online for python, so if you've never used it I highly recommend you go through one of those first.

MATH-1250: Linear Algebra I
PHYS-1400: Introductory Physics I & PHYS-1410: Introductory Physics II
read more about these courses in the undergraduate calendar
python