Autumn 2021


Lecture: TR 9:40-11:00am (virtual)
Instructor: Prof. Franklin, teaching webpage, research webpage
TAs: David Maldonado, Grace Williams
Office Hours Schedule (TBA)

Goals

Welcome! In CS 22880, we delve into the interdisciplinary endeavor of quantum computing. The course is roughly split into two halves. The first half will focus on developing intuition about the major benefits and limits that are imposed on quantum computing by the quantum phenomena as well as getting comfortable with how basic quantum operations behave. The second half will delve into building from those basic operations, including quantum programming with Qiskit, important multiple-operation functionality, several algorithms, and the mathematics behind the algorithms. The specific goals of the course are:
  • Learn the intuition behind the quantum mechanics principles that affect quantum computing.
  • Learn basic quantum computing operations
  • Learn the mathematics necessary to calculate quantum operations
  • Learn how individual quantum operations are combined to create higher-level operations and algorithms
  • Learn how to program in Qiskit, a quantum programming language
  • Learn some Java, often used in interviews.

This course begins remotely due to COVID. There are pre-recorded videos for some, but not all, content. Zoom attendance is expected but not required (that is, attendance won't be taken, but you are responsible for all content that is discussed in class). Each week, there will be a larger homework assignment that tests the understanding of quantum material of the week. In addition, there will be programming assignments, first in Java and then in Qiskit.

During class, I will deliver the content in the videos live. The goal is to allow you to ask questions live and check your understanding with a live instructor able to help in the moment.

For content that is not pre-recorded, I will try to remember to provide slides. In particular, content related to Java is not in pre-recorded videos.

Getting Help

We will use Piazza for questions.

If you have questions about the course, and those questions are in a sense impersonal — that is, they are about course material or course logistics — we ask that you post those questions publicly, rather than contacting any of the staff members directly. This ensures you will receive the fastest, most consistent possible response from the staff. Since students usually have common questions, posting public questions is also very efficient for your classmates as well. As yet another advantage, it avoids duplication of work on the part of the staff.

If you have a specific question about your implementation - if any code or partial solution is involved - then ask a private question, which is invisible to your classmates.

In general, there should be no reason for personal email unless it is for extenuating circumstances.

Lab Sessions

Lab sessions have been turned into office hours for the first two weeks. At the beginning of the session, the TA will provide an introduction to the lab for that week. Nothing is turned in during the lab session; the purpose is to provide you working time with a helper present so that you can make progress and get some momentum to help you complete the assignment through the week. This makes it easier to stave off procrastitation if that is your inclination (my research experiments have shown a negative correlation between procrastination and grades).

Zoom Recording

Zoom links are posted on the class website.

Resources

Textbooks:
Recommended: Q is for Quantum, Terry Rudolph
Dancing with Qubits, Robert S. Sutor

Grading / Assignments

All assignments (short answer, Java, Qiskit) will be submitted in Gradescope.

Each student’s final grade will be computed according to the following formula:

  • Weekly homework problems 20%
  • Programming assignments 30%,
  • midterm 20%,
  • final 30%
What precisely constitutes an A, B, etc. will be determined by the collective performance of the class. You are guaranteed not to get lower than straight scale (A>=93%, A- (90->93), B+ (87->90), etc.).

Late Policy

Normally, I don't allow any late assignments. However, this is not a normal time. If you have an extended illness or have extra responsibilities at home due to relatives' illness, or other impacts from the pandemic, we can work around it. Late requests must be made prior to the deadline, and they must be accompanied by the full reason and a summary of what you accomplished prior to the deadline. The expectation is that you work the entire week on the assignment, not that you wait until Sunday to begin what is due on Monday.

Regrade requests

Regrade requests for weekly assignments and exams must be submitted within 5 working days (one week) of when you received the grade / feedback.

Academic Honesty

In this course, as in all your courses, you must adhere to college-wide honesty guidelines as set forth at http://college.uchicago.edu/ policies-regulations/academic-integrity-student-conduct. The college's rules have the final say in all cases. Our own paraphrase is as follows:
    Never copy work from any other source and submit it as your own. Never allow your work to be copied or seen by another student. Never submit work identical to another student's. Never look at someone's working solution in order to solve your error. Document all collaboration. Generally, collaboration is forbidden on the reading portion of homework assignments. Cite your sources.

Groups obviously share code amongst themselves, but they are not allowed to share code between groups in any shape or form.

We will enforce the following rule as well: any student who is under suspicion of having violated academic honesty rules will not be allowed to withdraw from this course.

Withdraws, Pass/Fail Requests

All requests for Pass/Fail must be received before the final exam. Note that if you take this course P/F, in normal years, you may not use it to satisfy requirements for a computer science major or minor. However, due to the pandemic, computer science majors are allowed to use a limited number of P/F courses towards their degree. You can read the Department's AY 21 Pass/Fail Policy for more information. To pass, you must earn a C- or better in the class. Withdraw requests are now handled by your college advisor, not the instructor nor the major advisor.