CMSC 33001 Novel Computing Architectures and Technologies

This course explores emerging computing and storage technologies from the perspective of how they will affect the design of computer systems. This year, we will be focusing on research topics in Noisy Intermediate-Scale Quantum (NISQ) computers. Students will work with our Scaffold quantum computing language and compiler, as well as the IBM QISKit software tools and cloud-accessible quantum hardware.


Lab 2 out (due Nov 27th)

Here are some lecture notes you can use to follow the quantum material in addition to the textbooks.

Here are some other lecture notes from Preskill at Caltech that are more detailed and physics-oriented.

Here's a link to a prior offering of this class and discussion topics.

Time: TR 12:30-1:50
Room: Ryerson 277
Prof. Fred Chong; office hours by appointment; JCL 239
Co-Instructor: Yongshan Ding
Textbook: Quantum Computing for Computer Architects, Second Edition Tzvetan S. Metodi, Arvin I. Faruque, Frederic T. Chong. (should be free from a UChicago machine)
Optional Reference: Quantum Computation and Quantum Information, Michael Nielsen and Isaac Chuang, Cambridge Press, 2000.


  • Project Drafts due 11/29
  • Project final papers due 12/12


  • Labs 30%
  • Scribing Lectures 10%
  • Project Proposals and Drafts 20%
  • Project Final Report 40%


  • Lab 1 out (due Oct 30) Linux, mac, windows.

  • Lab 2 out (due Nov 27th)

    Problem Set Information

    For each assigned paper, write up the following and e-mail me a copy before class:
  • A summary of the main points of the paper.
  • A critique of any shortcomings of the paper.
  • Any ideas on how one would extend the ideas in the paper or address its shortcomings.

    Project Information

    Here's a link to a previous year's class and topics.

    Here is an example project paper. The project has two goals:

  • A critique of 3-5 related research papers. This is not a book report. Do not just summarize what is in the papers. Point out shortcomings and possible areas for extension.
  • Extension of the area. Address shortcomings or extend the work in the papers. Come up with some ideas and test them with a short project. This can be in the form of some simple analysis, simulations, algorithms, or models. Remember to pick something that will fit in a quarter.


    Lec 01 (Tue 10/2) - Intro (notes)
    Lec 02 (Thu 10/4) - From bits to qubits (notes)
    Lec 03 (Tue 10/9) - Understanding qubits (notes)
    Lec 04 (Thu 10/11) - More basics (notes)
    Lec 05 (Tue 10/16) - Not just conducting, it's super-conducting (Pranav) (notes) (notes)
    Lec 06 (Thu 10/18) - Let's trap some ions (Kevin) (notes)
    Lec -- (Thu 10/23) - No class (Micro)
    Lec -- (Thu 10/25) - No class (Micro)
    Lec 07 (Tue 10/30) - Fun with a few qubits (notes)
    Lec 08 (Thu 11/1) - NISQ algorithm (notes)
    Lec 09 (Tue 11/6) - Memory management (notes)
    Lec 10 (Thu 11/8) - Classical simulation (full-state, tensor network, stabilizer) (notes)
    Lec 11 (Tue 11/13) - Simulation (cont)
    Lec 12 (Thu 11/15) - All under control (notes)
    Lec 13 (Tue 11/20) - Error Correction (notes)
    Lec -- (Tue 11/22) - No class (Thanksgiving)
    Lec 14 (Tue 11/27) - Program compilation and optimization (notes)
    Lec 15 (Tue 11/29) - Project Presentations
    Lec 16 (Tue 12/4) - No class (STAQ kickoff)

    Last updated 2018