| Lecture date | Topics | Notes |
|---|---|---|
| Jan 14 | Qubit states, single qubit gates | Lecture note |
| Jan 16 | Multi-qubits gates, controlled gates, circuit notations | Lecture note |
| Jan 21 | Multi-controlled gates, initialization, termination and measurement gates | Lecture note |
| Jan 23 | Teleportation, Clifford gate set, universal gate sets | Lecture note. Recommended reading: "On Universal and Fault-Tolerant Quantum Computing" by Boykin et al. "Both Toffoli and Controlled-NOT need little help to do universal quantum computation" by Shi. Homework 1 is available. |
| Jan 28 | Clifford+T implementation of Toffoli gate, T-gate via T-state | Lecture note. Recommended reading: "Quantum circuits of T-depth one" by Peter Selinger. "Lower bounds on the non-Clifford resources for quantum computations" by Beverland et al. |
| Jan 30 | Simply typed lambda calculus | Lecture note. |
| Feb 4 | Type inference and Type inhabitation | Lecture note. |
| Feb 6 | Call-by-value, unit type, sum types and empty type | Lecture note. |
| Feb 11 | Introduction to linear types | Lecture note. Homework 2 is available here. |
| Feb 13 | Evaluation of a linear type system | Lecture note. |
| Feb 18 | Examples of Evaluation | Lecture note. |
| Feb 20 | Haskell101 | Haskell file. CSCE 550 Class website. Haskell tutorial: learn you a haskell. |
| Feb 25 | Quipper101 | Haskell file. Quipper documentation is available here. Recommended readings: An Introduction to Quantum Programming in Quipper, Quipper: A scalable quantum programming language. |
| Feb 27 | GHZ circuits and Toffoli gate in Quipper | Haskell file. Homework 3 is available here. |
| March 4 | Addition circuit | Haskell file. Lecture note. Related reading: A new quantum ripple-carry addition circuit by Cuccaro et. al. 2004. |
| March 6 | Addition circuit continued | Haskell file. |
| March 18 | Cuccaro adder and introduction to QFT | Haskell file. Lecture note. Related reading: Addition on a Quantum Computer by Draper, 2000. |
| March 20 | Quantum circuits for QFT | Lecture note. |
| March 25 | Quantum Fourier Addition in Quipper | Haskell file. Lecture note. |
| March 27 | Proto-Quipper 101 | Program file. Homework 4 is available here. |
| April 1 | Dynamic lifting, vector data type in Proto-Quipper | Program file. |
| April 3 | Addition in Proto-Quipper | Program file. |
| April 8 | QFT addition in Proto-Quipper, ZX calculus | Program file. Lecture note. Related reading: Interacting Quantum Observables: Categorical Algebra and Diagrammatics by Bob Coecke and Ross Duncan, ZX-calculus for the working quantum computer scientist by John van de Wetering. |
| April 10 | Compact structure in ZX diagram | Lecture note. Homework 5 is available here. |
| April 15 | Spider fusion rule | Lecture note. |
| April 17 | Bialgebra rule | Lecture note. |
| April 22 | Phase gadgets in ZX diagram | Lecture note. |