| Lecture date | Topics | Notes |
|---|---|---|
| Jan 9 | Syllabus, bit, qubit, and single qubit gates | Lecture note |
| Jan 11 | Two qubit states, bell states, two qubit gates, Clifford gate set, Clifford+T | Lecture note, Gottesman's paper on Gottesman-Knill Theorem, Nielsen and Chuang (Chapter 4.5) covers universal quantum gates in details, Nielsen and Chuang (Chapter 10.5.1-10.5.4) also covers Gottesman-Knill Theorem. Homework 1 is available here. |
| Jan 16 | Teleportation circuit, delay measurement principle, constructing Toffoli gate | Lecture note, the construction of Toffoli gate is based on Selinger's paper. |
| Jan 18 | Constructing Toffoli gate, T-gate via T-state, measurement and discard | Lecture note, Bravyi and Kitaev's paper on magic state distillation. |
| Jan 23 | Simple types, lambda expressions, simply typed lambda calculus | Lecture note. History of Church-Turing thesis from wiki, the "Church definition of "effectively calculable"" section mentions Church's work on lambda calculus related computability. Related reading: Chapter 1-2 from Selinger's book "Lecture Notes on the Lambda Calculus". |
| Jan 25 | Unit type, Empty type and Sum type, Curry-Howard correspondence | Lecture note. A proof of type preservation is available from Chapter 9.2-9.4 in Benjamin Pierce's book "Types and Programming language" (There is an online version from UofSC's library), and the normalization proof is in Chapter 12 of the same book. Related reading: Chapter 6 from Selinger's book "Lecture Notes on the Lambda Calculus". Homework 2 is available here. |
| Jan 30 | Programming Computable Functions (PCF), programming with fixpoints | Lecture note. Related reading: Chapter 11.1-11.3. from Selinger's book "Lecture Notes on the Lambda Calculus". |
| Feb 1 | Linear typing rules, Parameter contexts, linear function type, tensor product type | Lecture note. |
| Feb 6 | Adding unitary operations, initialization and measurement, evaluation rules | Lecture note. |
| Feb 8 | Evaluation rules (continued), examples of a bell state and its measurement | Lecture note. |
| Feb 13 | Haskell 101, simply typed lambda calculus in Haskell | Haskell program, command line log. Recommended reading: Learn You a Haskell for Great Good! |
| Feb 15 | Quipper 101, bell state, bell measurement, teleportation in Quipper | Program file. Quipper documentation is available here. Recommended readings: An Introduction to Quantum Programming in Quipper, Quipper: A scalable quantum programming language. Homework 3 is available here. |
| Feb 20 | Multi-qubits teleportation, GHZ states, with-computed pattern | Program file. |
| Feb 22 | Bit addition, carry and 2-bit addition discussion | Program file and Short note. |
| Feb 27 | Bit addition with linearly many ancillas | Program file. Related reading: A new quantum ripple-carry addition circuit by Cuccaro et. al. 2004. |
| Feb 29 | QFT addition | Lecture note. Related reading: Addition on a Quantum Computer by Thomas G. Draper. Homework 4 is available here. |
| March 12 | QFT addition in Quipper | Program file. |
| March 14 | Qiskit 101 | Program file 1, Program file 2. Qiskit documentation is available here. |
| March 19 | Toffoli construction in Qiskit | Program file. |
| March 21 | Phase kickback, reflection about mean | Lecture note. Related reading: A fast quantum mechanical algorithm for database search by Lov K. Grover. |
| March 26 | Flip and reflection in Python, construction of the reflection-about-mean circuit | Lecture note, Python program. Related reading: An Introduction to Quantum Computing (Chapter 8.2) by Kaye, Laflamme and Mosca. Freely available online via UofSc library. Homework 5 is available from here. |
| March 28 | N-fold controlled not, an example of Grover's algorithm in Qiskit | Program file. |
| April 2 | ZX-diagram 101: spiders and structural maps | 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 4 | ZX-diagram 102: spiders fusion, pi-copy and state-copy | Lecture note. |
| April 9 | ZX-diagram 103: bialgebra rule | Lecture note. |
| April 11 | ZX-diagram 104: Phase gadgets and application of bialgebra rules | Lecture note. |
| April 16 | Pauli groups, stabilizer states and stabilizers | Lecture note. Related reading: Nielsen and Chuang (Chapter 10.5.1-10.5.3) covers stabilizer formalism in details. |