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

All of these concepts are covered in the MATH-1250: Linear Algebra I class

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

If you've had a chance to take PHYS-1400: Introductory Physics I & PHYS-1410: Introductory Physics II, that would be stellar. If not, you'll want to take a moment to brush up on high school physics.

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

Here's a list of courses I would recommend. You can read more about these courses in the undergraduate calendar.

  • 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

All the programming in this tutorial will be done in python, 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.

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.

Last updated