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