# Quantum Computing (CS419/CS939)

Lecturer: Tom Gur

Teaching Assistants: Marcel Dall'Agnol, Bruno Pasqualotto Cavalar.

###### Announcements

- The first synchronous session will take place on 11 February at 10am via MS Teams.
- Seminars will begin on the first week: Groups 1 and 2 on 12 February at noon and 1pm, respectively; Groups 3 and 4 on 14 February at 3pm and 4pm, respectively.
- Please register to the module's Zulip forum.

###### Time and place

- Synchronous sessions take place on Mondays 10am (via MS Teams).
- Seminars take place on Tuesdays noon-2pm and Fridays 3pm-5pm (via MS Teams). Groups 1 and 2 alternate between the 1-hour blocks on Tuesday and Groups 3 and 4 alternate between the 1-hour blocks on Thursday.
- Recorded lectures are available on the Moodle page.

###### Online Resources

- Zulip forum -- the recommended place to discuss all things about this module.
- Tom's Twitter -- for sending the weekly updates videos.
- Anonymous feedback form.
- Qiskit tutorial

###### References

- Tom's Lecture notes (Access restricted to Warwick students).
- Recommended lecture notes by Ronald de Wolf.
- Recommended textbook: "Quantum Computation and Quantum Information"by Nielsen and Chuang.
- Linear algebra handbook (compiled by Christopher Hickey).
- Mock exam (+ 2020's mock exam).

###### Assignments

- Assignment 1 (submission deadline: 2 February, Tuesday, 12pm)
- Assignment 2 (submission deadline: 23 February, Tuesday, 12pm)
- Assignment 3 (submission deadline: 16 March, Tuesday, 12pm)

###### Lectures

**Part I: Quantum Mechanics**

Lecture 1.0: Quantum mechanics and scalability

Lecture 1.1: Introduction to quantum computing

Lecture 1.2: The Double-Slit Experiment

Lecture 1.3: Randomness & quantum complexity

Lecture 1.4: Qubits & superposition

Lecture 2.0: A glimpse to research -- quantum zero-knowledge proofs

Lecture 2.1: Measurement

Lecture 2.2: Quantum Zeno effect

Lecture 2.3: Unitary evolution

Lecture 2.4: Quantum gates

Lecture 2.5: The Elitzur-Vaidman bomb

Lecture 3.0: On the postulates of quantum mechanics

Lecture 3.1: Composite qubit systems and tensoring

Lecture 3.2: Partial measurement

Lecture 3.3: Entanglement

Lecture 3.4: The Einstein–Podolsky–Rosen paradox

Lecture 4.0: A glimpse to research -- quantum machine learning

Lecture 4.1: The CHSH game

Lecture 4.2: Bell's inequality

Lecture 4.3: No-cloning theorem

Lecture 4.4: Quantum teleportation

Lecture 5.0: Randomness and uncertainty

Lecture 5.1: Mixed states

**Part II: Quantum Algorithms**

Lecture 5.2: Quantum circuits

Lecture 5.3: Simulating classical algorithms

Lecture 5.4: Uncomputing

Lecture 6.0: Is quantum mechanics the "right" theory?

Lecture 6.1: Quantum query complexity

Lecture 6.2: Encoding information in the phase

Lecture 6.3: Deutsch's algorithm

Lecture 6.4: The Deutsch-Jozsa algorithm

Lecture 6.5: Fourier analysis

Lecture 7.0: Designing quantum algorithms and Qiskit

Lecture 7.1: The Bernstein-Vazirani algorithm (part 1)

Lecture 7.2: The Bernstein-Vazirani algorithm (part 2)

Lecture 7.3: Boolean Fourier transform

Lecture 7.4: Fourier sampling

Lecture 8.0: Quantum cryptography

Lecture 8.1: Grover's algorithm (problem and classical hardness)

Lecture 8.2: Grover's algorithm (algorithm and analysis)

Lecture 8.3: Grover's algorithm (Grover diffusion operator)

Lecture 8.3: Simon's algorithm (problem statement and hardness)

Lecture 8.4: Simon's algorithm (partial measurements)

Lecture 9.0: Ask me anything

Lecture 9.1: Simon's algorithm (full analysis)

Lecture 9.2: From Simon's algorithm to Shor's algorithm

Lecture 9.3: Quantum Fourier transform (overview)

Lecture 9.4: Quantum Fourier transform (formal treatment)

Lecture 10.0: A glimpse to research

Lecture 10.1: Quantum Fourier transform (algorithm)

Lecture 10.2: Shor's algorithm (period finding over Z_n)

Lecture 10.3: Shor's algorithm (factoring using periodicity)

Lecture 10.4: Bonus lecture -- LCU method, part 1 (Guest lecturer: Sathya Subramanian)

Lecture 10.5: Bonus lecture -- LCU method, part 2 (Guest lecturer: Sathya Subramanian)

###### Seminars

Week 1: Linear algebra review (vector spaces, basis, linear transforms and matrices)

Week 2: Linear algebra review (inner product, unitaries and tensor product)

Week 3: Tensor product practice + superdense coding

Week 4: Superdense coding + measurements, projections and reflections

Week 5: Principle of deferred measurement

Week 6: Assignment 1 review + density matrix practice

Week 7: Density matrix practice + Fourier decompositions

Week 8: Boolean functions and reversible circuits + Fourier sampling

Week 9: Mock exam

Week 10: Mock exam

###### Research Projects

If you find quantum computing fascinating and you would like to start making your first steps in research, please feel free to shoot me an email or talk to me after class.