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 noteDue: Course welcome survey on Canvas
Readings: N&C Ch 2.1
______________________________
Monday, 09/02
No lecture: Labor DayDue: None
Readings: N&C Ch 2.1
______________________________
Wednesday, 09/04
Lecture 3: From bits to circuits · lecture noteDue: None
Readings: D&C Ch 2.1
______________________________
Monday, 09/09
Lecture 4: Quantum circuits and quantum programming · lecture note· lecture slidesDue: None
Readings: D&C Ch 2.2.1-2.2.2
______________________________
Wednesday, 09/11
Lecture 5: Quantum gates · lecture noteDue: None
Readings: D&C Ch 2.2.4
______________________________
Monday, 09/16
Lecture 6: Measurements · lecture noteDue: Assignment 1 at 5:00PM ET on Gradescope
Readings: D&C Ch 2.2.4
______________________________
Wednesday, 09/18
Lecture 7: Quantum teleportation · lecture noteDue: None
Readings: N&C Ch 1.3.7, D&C Ch 6.3.3
______________________________
Monday, 09/23
Lecture 8: Quantum compiling · lecture noteDue: None
Readings: D&C Ch 6.1-6.3
______________________________
Wednesday, 09/25
Lecture 9: Quantum compiling II · lecture noteDue: None
Readings: N&C Appendix 3
______________________________
Monday, 09/30
Lecture 10: Reversible logic and oracles · lecture noteDue: 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 noteDue: None
Readings: D&C Ch 3.2
______________________________
Monday, 10/07
In class: Midterm exam I at 11:35AM ETDue: Mid-Semester Feedback on Canvas
Readings: N&C Ch 5.4.3
______________________________
Wednesday, 10/09
Lecture 12: Simon's algorithm · lecture noteDue: None
Readings: N&C Ch 5.1
______________________________
Monday, 10/14
Lecture 13: Quantum Fourier transform · lecture noteDue: None
Readings: None
______________________________
Wednesday, 10/16
No Lecture: October RecessDue: None
______________________________
Monday, 10/21
Lecture 14: RSA and Shor's factoring algorithm · lecture noteDue: None
Readings: N&C Ch 5.3.1-5.3.2
______________________________
Wednesday, 10/23
Lecture 15: Grover's search algorithm · lecture noteDue: None
Readings: N&C Ch 6.1
______________________________
Monday, 10/28
Lecture 16: Grover's search algorithm II · lecture noteDue: 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 noteDue: None
Readings: D&C Ch 2.3
______________________________
Monday, 11/04
In class: Midterm exam II at 11:35AM ETDue: None
Readings: N&C Ch 8.3-8.4
______________________________
Wednesday, 11/06
Lecture 18: Error channels · lecture noteDue: None
Readings: N&C Ch 10.1-10.3
______________________________
Monday, 11/11
Lecture 19: Implementing quantum error correction · lecture noteDue: None
Readings: N&C Ch 10.1-10.3
______________________________
Wednesday, 11/13
Lecture 20: Classical error correcting codes · lecture noteDue: None
Readings: N&C Ch 10.4
______________________________
Monday, 11/18
Lecture 21: Stabilizer formalism · lecture noteDue: None
Readings: N&C Ch 10.5
______________________________
Wednesday, 11/20
Lecture 22: Stabilizer Codes and Normailizers · lecture noteDue: Assignment 4 at 5:00PM ET on Gradescope
Readings: None
______________________________
Monday, 11/25
No Lecture: November recessDue: None
______________________________
Wednesday, 11/27
No Lecture: November recessDue: None
Readings: None
______________________________
Monday, 12/02
Lecture 23: Logical Operations· lecture noteDue: 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.