Professor
Rogério de Sousa
This course,
targeted at advanced 2nd year students in
science, engineering, and computer
science will teach the basics of quantum
computation and information. The student will
get to
submit jobs to cloudbased quantum computers
provided by IBMQ and DWave Leap, using
a Pythonbased interface.
Prerequisites
MATH211 or MATH110 (Matrix algebra).
No background in quantum physics or Python is
needed.
Note: Because this is a pilot course, the system
is currently enforcing the standard prereq
for PHYS280, "3 units of physics courses".
Students who have not taken these can register
after submitting a waiver using this link:
https://www.uvic.ca/science/physics/current/undergraduate/prereqs/index.php
It is recommended that each student brings their
own laptop to class. This will allow them to
view and interact with my class notes in real
time (I use Concept Board, follow the "Board"
links to the left). In the last month of
the course it will be mandatory for each student
to
bring their own laptop to class. These will be
used to run Python on UVic's webbased virtual
machine (the Jupyter notebook).
Lectures
Tue, Fri: 2:30 pm  3:50 pm,
Clearihue C109.
Attendance is not required, but strongly
recommended.
Office hours
Thursdays,
2:00 pm  3:00 pm, Elliott 117.
How to ask questions outside class:
Students can ask questions and post comments at
each lecture board under the "Lectures (Board)"
links to the left. That way questions are directly
linked to materials and all students will have
access
to our conversation. Students can post under their
own name or as "Anonymous" if they prefer.
For homework questions, students can use the Forum
at CourseSpaces:
http://coursespaces.uvic.ca/mod/forum/view.php?id=1252596
Students are encouraged to use this forum to reply
to questions posed by their peers. I am not able
to reply to homework questions via email  By using
the forum we ensure that all students have
access to the same answers.
Finally, if you wish to send me a private message,
please send it to my UVic email:
Textbook
"Quantum Computing: A
beginner's introduction", Parag K. Lala
(McGrawHill Education, New York, 2019).
Other suggested
books, videos, websites
 "Quantum Computation and Quantum
Information", Michael A. Nielsen and Isaac L.
Chuang
(Cambridge University Press, U.K. 2000). This
book is often referred to as the "Bible" of
the field.
While it is self contained, it is aimed at
graduate students.
 "Canadian Summer School on Quantum
Information" (video),
https://www.youtube.com/watch?v=Q4xBlSi_fOs
 "Quantum Information for Developers",
ETHZurich (Lecture notes and videos),
https://qid.ethz.ch/
Topics to be
covered
Part I:
Fundamentals

Survey of quantum physics:
SternGerlach experiment and the spin of the
electron, analogy with polarization states
of light. Linear algebra with complex
numbers and Dirac's notation. Inner
products, tensor products, adjoint
operation. Operators as square matrices,
basis change. Hermitian and normal
(diagonalizable) operators. Unitary
operators.
Quantum mechanics: State space, observables,
projections, and quantum measurement. Pauli
matrices and their eigenstates. Expectation
value of observables. Representing single
qubit states in the Bloch sphere. Entangled
states.

Part II:
Quantum Computation

Quantum circuits: Onequbit operations
(Pauli, Hadamard), controlled twoqubit
operations, measurement. How to draw quantum
circuits and relate to matrix
representation. Circuit that generates Bell
states. Irreversibility and universality for
classical gates. Universality for quantum
gates. How to program a quantum oracle that
evaluates 1bit Boolean functions.
Elementary quantum algorithms and quantum
speedup: Deutsch and DeutchJosza, quantum
parallelism. BernsteinVazirani, Simon's
algorithms.
Quantum cryptography with BB84. Elementary
quantum tomography. Nocloning theorem,
quantum teleportation. Elementary 3qubit
error correction.

Part
III: Handson with IBMQ and DWave Leap

Overview and installation of
Anaconda, Jupyter notebook and Python. IBM's
Qskit, installation, tutorials, and simple
examples. Composing quantum circuits and
running them in simulators and real devices.
Comparisons between simulations and
experiments, quantum depth, noise.
Elementary phase estimation (without quantum
Fourier transform).
Hamiltonians, ground and excited states,
time evolution. Quantum adiabatic theorem.
Introduce the idea of using adiabatic
evolution to implement quantum
computation.
Other models for quantum computing, overview
of adiabatic quantum computing and
equivalence to gate model. Adiabatic version
of DeutchJosza algorithm. Equivalence of
adiabatic quantum computing (AQC) to gate
model (within polynomial overhead).
NPcomplete problems: Combinatorial problems
and their reduction to 3Satisfiability
(3SAT) problems. AQC algorithm for 3SAT
and quantum annealing.
Overview of DWave's Leap, installation,
tutorials, and how to use. Example code:
Constructing QUBOs for 2 qubits, 3bit
3SAT. Chaining and minor embedding to the
device's architecture. Minorembedding
tools. Solving graph optimization problems
with quantum annealing; application to
vertex cover and map coloring problems.

Grading scheme
Assignments 
20% 
Midterm 
30% 
Final 
50% 
Assignments
There will be 6
assignments. The assignments will be
posted on this website (links to the left), with
noted due dates
on Friday at
6pm (Exceptions will be
posted on this website). The assignments must be
inserted in the
"P280" dropbox located in the left of
Elliott 136.
Assignment
solutions will be available online (links
on the left) a few days after the due date.
The assignments will be graded by the TA, Mr.
Alberto Nava Aquino. Any questions on
grading should be addressed
directly to him by email, at .
Midterm exam
Feb. 14th (Friday),
in class 2:30 pm  3:50 pm.
Notes on the exams
 On all examinations the only acceptable
calculator is the sharp EL510R. This
calculator can be bought in the bookstore
for about $10. DO NOT bring any other
calculator to the examinations.
 You are allowed one 8.5X11'' handwritten
formula/note sheet (you can only write in one
side).
You will be responsible for the "usual"
constants and equations that we have dealt
with in class on a regular basis.
Final letter
grade: UVic's percentage grading system
A+ 
90100 
Exceptional performance. 
A 
8589 
Outstanding performance. 
A 
8084 
Excellent performance. 
B+ 
7779 
Very good.

B 
7376 
Good.

B 
7072 
Solid. 
C+ 
6569 
Satisfactory.

C 
6064 
Minimally satisfactory. 
D 
5059 
Marginal performance. 
F 
049 
Unsatisfactory performance. 
How
to succeed
 Attend classes;
 Most
important: Work on the assignments by
yourself. If you can't solve a
problem, talk to your classmates,
or attend the office hour. However, it
is extremely important that you attempt to
solve the problem by yourself first.
Experience shows that students who copy
solutions from others usually perform very
poorly in the exams and fail the course.
 Common mistake: Some students do not
study/review the notes/book before attempting
the assignments. Instead,
they "pick" the notes trying to find the
material needed to solve a particular
problem. Such method does not work
because it leads to fragmented knowledge; the
student does not understand the connection
between the topics.
Moreover, studying that way does not prepare
for the exam, because there will be no book or
notes to "pick" during the exam.
 Suggestion on how to study: Do a subject
review before attempting the
assignment, by reading the
notes/book.
Start by reading the assignment fully, and
then attempt the problem that appears to
be easier (it is okay to briefly go
back to the notes or book during the
assignment).
 Solve extra problems to practice for the
exams.
