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.