Fall 2024

CPSC 447/547: Introduction to Quantum Computing

______________________________


Time: Mondays and Wednesdays, 11:35am - 12:50pm ET


Location: Mason Lab (ML) 211


This course will introduce the fundamental concepts in the theory and practice of quantum computation. Topics covered include information processing, quantum programming, quantum compilation, quantum algorithms, and error correction. The objective of the course is to engage students in applying fresh thinking to what computers can do – we establish an understanding of how quantum computers store and process data, and discover how they differ from conventional digital computers. Students should have taken CPSC 201 and CPSC 202 or their equivalents. Basic familiarity with discrete probability and linear algebra is recommended. Prior experience in quantum computing is useful but not required. We anticipate this course will be of interest to students working in computer science, electrical engineering, physics, or mathematics.

______________________________


Logistics


  • Instructor: Yongshan Ding. Office Hour: Mondays 2:05-3PM (Zoom). Detail information is announced on Canvas.
  • Course Assistants: Rohan Kumar, Kun Liu, Brennan Lagasse. Office Hours: Wednesdays 3-4pm ET, Tuesdays 5-6pm ET, and Sundays 2:30-3:30pm ET. Detail information is announced on Ed.
  • Syllabus (general information): https://www.yongshanding.com/cpsc447-f24
  • Canvas (course resources): https://canvas.yale.edu
  • Ed Discussion (announcement and Q&A forum): Access through Canvas
  • Gradescope (assignments and grades): Access through Canvas
  • Yale Course Search (registration): Link

Classes


This course will be an introduction to quantum computing and information. The lectures are divided into several modules with the following tentative topics:

  • Module 1. Introduction to the Principles of Quantum Computation
    • Quantum Computing – A CS Perspective
    • Quantum States: Superposition for Computation
    • Quantum Operations and Circuits
    • Quantum Entanglement
    • Quantum Teleportation
    • No-cloning Theorem
  • Module 2. Quantum Logic and Programming
    • Quantum compiling
    • Reversible Logic
    • Quantum Oracles
  • Module 3. Quantum Algorithms
    • Deutsch-Jozsa Algorithm
    • Simon's Algorithm and Period Finding
    • Quantum Fourier Transform and Shor's Factoring Algorithm
    • Grover’s Search Algorithm
  • Module 4. Fault-Tolerant Quantum Computation
    • Quantum Channels
    • Quantum Error Correction with 9-Bit Shor Code
    • Classical Coding Theory
    • Stabilizer Formalism and CSS Code
    • Topological Error Correction

Textbooks and Readings


There is no required textbook for this course. Instead, we have a list of recommended textbooks and some course readings (which will be updated and linked from the schedule below). Recommended textbooks and references:

  • D&C: Quantum Computer Systems, by Ding and Chong. Free access on campus or via Yale VPN [link].
  • N&C: Quantum Computation and Quantum Information, by Nielsen and Chuang.

Grading

  • Assignments (4): 10% + 10% + 10% + 10% = 40% (for CPSC 447 students), 8% + 8% + 8% + 8% = 32% (for CPSC 547 students).
  • Midterm Exam (2): 20% + 20% = 40%
  • Final Exam: 20%
  • Project (for CPSC 547 students): 8%

The course grade will be based on four assignments (40% for CPSC 447, 32% for CPSC 547), two in-class midterm exams (40%), and a final exam (20%). Students in CPSC 547 will conduct a programming-intensive project on selected topics and give presentations in class (an additional 8%).

Students in CPSC 547 will complete a course project. Details will be released on Ed.


Assignments, Exams and Projects


The four assignments will have written and/or programming components on the following topics:

  • Assignment 1: Basics of Quantum Computation. · pdf · starter code
  • Assignment 2: Advanced Quantum Circuits.
  • Assignment 3: Fun with Quantum Algorithms.
  • Assignment 4: Quantum Error Correction.

Late policy: Assignments are due on Gradescope at 11:59PM US Eastern Time unless otherwise indicated on the assignment. Each student has a total of 4 late days to be used over the entire semester. You do not need to notify the course staff to use the late days. You can just submit to Gradescope after the original deadline. No more than two late days can be used on a single assignment. If you do not have remaining late days, late submissions will incur a 15% penalty per day. No assignments will be accepted more than two days after their original deadline.

Collaboration policy: To facilitate learning, collaboration on the assignments is encouraged. A discussion may take place in a small group (on a whiteboard or on a scratch paper, etc.), but notes or recordings of the discussion are prohibited. All assignments should be written up on one’s own after sufficient time (i.e., at least two hours) has elapsed since any discussion. You must list all your collaborators on every assignment. If you have used external reference materials, please also note this on the assignment. The objective is to demonstrate that you can (re)create a solution on your own. It is prohibited, however, to share solutions or provide hints to other students after you have already arrived at the solution. Take a moment to familiarize yourself with Yale’s Academic Integrity Policy, if you have not done so already. If you have any questions about what does or does not constitute plagiarism, ask! Plagiarism is a serious offense and will not be treated lightly. Fortunately, it is also easy to avoid and if you are careful about giving credit where credit is due you should not run into any problems.


There are three exams in this course:

  • Midterm Exam I: A written midterm exam will be held in class on Monday, October 7th. (20%)
  • Midterm Exam II: A written midterm exam will be held in class on Monday, November 4th. (20%)
  • Final Exam: A written final exam will be held in class on Wednesday, December 4th. (20%)

Students are expected to be present for the exams unless special arrangements are made in advance with the Student Accessibility Services (SAS) office or directly with the course staff.


Policies and Wellness


Engagement with the course. There are multiple ways to engage with the course both inside and outside of the classroom:

  • We will have frequent group discussions during live lectures to enhance learning and student interactions.
  • Lecture recordings will be posted on Canvas to allow students to review offline at their own pace.
  • Hybrid office hours provide the students with flexibility in ways to reach out to the instructor and the course staff.
  • Students are encouraged to use Ed Discussion to ask questions after class.

Well-being. The well-being of students is important to us at Yale. We know it has been an especially challenging time for many of us over the past year or two, and the university experience can be overwhelming at times. We all rely on support as we navigate during times of struggle. If you or anyone you know are experiencing any stress, anxiety, or isolation, please consider reaching out to a friend, family member, or faculty you trust. If you have a personal emergency that might impact your work in the class, please let Yongshan know so that appropriate arrangements can be made. You may also consider some helpful resources available on campus -- The Good Life Center is the official student wellness center of Yale University and is supported by the Yale Well Initiative.


Schedule


A tentative course schedule can be found below. Please refresh page frequently for updates. All lectures are in ML 211 unless otherwise indicated.

______________________________

Wednesday, 08/28

Lecture 1: Introduction to QC - a CS perspective · lecture note· lecture slides
Due: None
Readings: Course syllabus, D&C Ch 1

______________________________

Friday, 08/30

Lecture 2: Mathematics toolkit · lecture note
Due: Course welcome survey on Canvas
Readings: N&C Ch 2.1

______________________________

Monday, 09/02

No lecture: Labor Day
Due: None
Readings: N&C Ch 2.1

______________________________

Wednesday, 09/04

Lecture 3: From bits to circuits · lecture note
Due: None
Readings: D&C Ch 2.1

______________________________

Monday, 09/09

Lecture 4: Quantum circuits and quantum programming · lecture note· lecture slides
Due: None
Readings: D&C Ch 2.2.1-2.2.2

______________________________

Wednesday, 09/11

Lecture 5: Quantum gates · lecture note
Due: None
Readings: D&C Ch 2.2.4

______________________________

Monday, 09/16

Lecture 6: Measurements · lecture note
Due: Assignment 1 at 5:00PM ET on Gradescope
Readings: D&C Ch 2.2.4

______________________________

Wednesday, 09/18

Lecture 7: Quantum teleportation · lecture note
Due: None
Readings: N&C Ch 1.3.7, D&C Ch 6.3.3

______________________________

Monday, 09/23

Lecture 8: Quantum compiling · lecture note
Due: None
Readings: D&C Ch 6.1-6.3

______________________________

Wednesday, 09/25

Lecture 9: Quantum compiling II · lecture note
Due: None
Readings: N&C Appendix 3

______________________________

Monday, 09/30

Lecture 10: Reversible logic and oracles · lecture note
Due: Assignment 2 at 5:00PM ET on Gradescope
Readings: D&C Ch 6.4.3 and Ch 3.1

______________________________

Wednesday, 10/02

Lecture 11: Deutsch-Jozsa, Bernstein-Vazirani · lecture note
Due: None
Readings: D&C Ch 3.2

______________________________

Monday, 10/07

In class: Midterm exam I at 11:35AM ET
Due: Mid-Semester Feedback on Canvas
Readings: N&C Ch 5.4.3

______________________________

Wednesday, 10/09

Lecture 12: Simon's algorithm · lecture note
Due: None
Readings: N&C Ch 5.1

______________________________

Monday, 10/14

Lecture 13: Quantum Fourier transform · lecture note
Due: None
Readings: None

______________________________

Wednesday, 10/16

No Lecture: October Recess
Due: None

______________________________

Monday, 10/21

Lecture 14: RSA and Shor's factoring algorithm · lecture note
Due: None
Readings: N&C Ch 5.3.1-5.3.2

______________________________

Wednesday, 10/23

Lecture 15: Grover's search algorithm · lecture note
Due: None
Readings: N&C Ch 6.1

______________________________

Monday, 10/28

Lecture 16: Grover's search algorithm II · lecture note
Due: Assignment 3 at 5:00PM ET on Gradescope
Readings: N&C Ch 6.1

______________________________

Wednesday, 10/30

Lecture 17: Noisy quantum states and density operators · lecture note
Due: None
Readings: D&C Ch 2.3

______________________________

Monday, 11/04

In class: Midterm exam II at 11:35AM ET
Due: None
Readings: N&C Ch 8.3-8.4

______________________________

Wednesday, 11/06

Lecture 18: Error channels · lecture note
Due: None
Readings: N&C Ch 10.1-10.3

______________________________

Monday, 11/11

Lecture 19: Implementing quantum error correction · lecture note
Due: None
Readings: N&C Ch 10.1-10.3

______________________________

Wednesday, 11/13

Lecture 20: Classical error correcting codes · lecture note
Due: None
Readings: N&C Ch 10.4

______________________________

Monday, 11/18

Lecture 21: Stabilizer formalism · lecture note
Due: None
Readings: N&C Ch 10.5

______________________________

Wednesday, 11/20

Lecture 22: Stabilizer Codes and Normailizers · lecture note
Due: Assignment 4 at 5:00PM ET on Gradescope
Readings: None

______________________________

Monday, 11/25

No Lecture: November recess
Due: None

______________________________

Wednesday, 11/27

No Lecture: November recess
Due: None
Readings: None

______________________________

Monday, 12/02

Lecture 23: Logical Operations· lecture note
Due: None
Readings: None

______________________________

Wednesday, 12/04

In class: Final exam at 11:35AM ET

______________________________



FAQ


Am I prepared to take this course?

The official pre-requisites for the course are CPSC 201 (Introduction to Computer Science) and CPSC 202 (Mathematical Tools for Computer Science) or their equivalents. You should have a solid understanding of probability theory (basic concepts such as expectation values and marginal distribution), linear algebra (including eigenvalue equations and linear independence of vectors), and basic computer systems concepts (e.g., understanding that a compiled computer program is a sequence of machine instructions). Additionally, proficiency in Python programming is essential, as the ability in reading, writing and debugging Python codes is required to complete the programming assignments. If you are unsure about your background, please feel free to contact your instructor.


Can I audit this course?

We welcome on-campus Yale students who are curious about quantum computing but may not be ready to fully commit as a student. If you wish to audit this course, please email the instructor for access to Canvas as a Guest Student.


Can I get an extension on an assignment?

We understand that there will be periods throughout the semester when you cannot put as much time and efforts in CPSC 447 to meet the deadlines. That's why we offer a generous number of late days that you can spend to adjust those deadlines. We only give additional late days under exceptional circumstances (medical and family concerns, or in accordance with Dean's Extension). Please make the course staff aware of your situation at least 24 hours prior to the original deadline.


Do I need to inform the staff that I am using late days on an assignment?

No. Simply submit your work to Gradescope after the deadline and we will track your late day usage. Please note that Gradescope does not accept submissions more than two days after their original deadline.


Will the lectures be recorded?

Yes, lectures will be recorded and uploaded to Canvas. These recordings are intended to facilitate offline review and studying. However, we strongly encourage you to attend the lectures in person, as there will be numerous in-class discussions and interactions that are best experienced live.