Home Teaching
PHY605 Announcement/Update
AcademicCalendar
PHY 605 Quantum Programming
(Spring 2026) Days/Time: MW 09:30-10:50AM; Location: (changed to) ESS 177
3 credits, Letter graded (A, A-, B+, etc.)
This course will meet twice a week for 80 minutes per meeting.
Instructor: Tzu-Chieh Wei <tzu-chieh.wei[at]stonybrook[dot]edu> and Nathanan Tantivasadakarn <nathanan.tantivasadakarn[at]stonybrook[dot]edu>
Office hours: by appointment
TA: (The Department did not assign a TA to this course)
Course description :
The
field of quantum information and computation has evolved to a stage
where there are quantum devices that can be programmed and various
tasks and algorithms can be tested on these devices. This course
introduces various quantum programming frameworks. It aims to provide a
more practical approach of learning quantum computing by programming,
via softwares developed using Python. Important basic quantum
algorithms will be reviewed and learned by programming them and
simulating their action. Moreover, an emphasis will be paid to the
so-called Variational Quantum Eigensolver that has already been used on
many problems, from molecular energies and optimization to financial
applications and quantum machine learning. Some illustration of quantum
programming will be done on IBM's transmon-type cloud quantum
computers. Beyond the circuit-based quantum computers, programming
quantum annealers will provide an alternative approach to solve a wide
family of optimization problems.
Prerequisite:
PHY 568 Quantum Information Science (or other related courses, such as
CSE 550 Quantum Computing and Applications) or permission by the
instructor
This course is part of the curriculum in our Master's Program in Quantum Information Science and Technology (also here); see alo other courses PHY631 Quantum Information Physical Systems and Materials offered concurrently this semester.
Last year's PHY605 website is located here.
For
undergraduates: This course may be taken by upper-level undergraduates, who still need to complete the prerequsite. It needs the
permission and the signature of the instructor in order to register for
this course; permission form can be downloaded here.
Course objectives/Student learning outcomes:
Students who have completed this course
•
will be able to explain quantum computation of the standard circuit
approach and analyze how basic quantum algorithms work
• will be able to write Python codes to program these quantum algorithms and design ones based on existing algorithms
•
will be able to apply various quantum algorithms for applications, such
as optimization problems and scientific problems
Textbooks and resources:
There is no required textbook. But there are recommended textbooks :
Quantum Computation and Quantum Information, M. Nielsen and I. Chuang (Cambridge University Press)
Learn Quantum Computation using Qiskit (free digital textbook) [update: which is not longer maintained by IBM, now at Github]
IBM Quantum Learning (website with various resources)
IBM Quantum Documentation
PennyLane
QuTiP
Further bibliographic resources will be provided as the course progresses.
Python programming: there are many courses, books, tutorials, videos, code examples; see the list in BeginnersGuide/Programmers - Python Wiki.
Only basic understanding and programming experience of Python is needed
in the beginning. We learn by reading and modifying other people's
codes. It is also useful to know how to use iPython/Jupyter notebooks.
If you really need a book, I recommend a very compact book "Python (2nd Edition): Learn Python in One Day and Learn It Well," by Jamie Chan, available on Amazon at a very reasonable price (e.g. Kindle version is $3.99). There is also a companion workbook: "Python Workbook: Learn Python in one day and Learn It Well." (Kindle version is $1.99.)
Another recommended free on-lne book is Python Programming and Numerical Methods - A Guide for Engineers and Scientists
Codes from the book: Scientific Python by J Robert Johansson
Tutorials at: Python Tutorial
Learn QM with QuTiP: a paper
Assessment and Grading:
Grades: (tentative) Course grades on a 100 point scale are: A (93-100);
A- (90-92); B+ (87-89); B (83-86); B- (80-82); C+ (77-79); C (73-76);
C- (70-72); F (69 or lower)
Homework 50% (need to submit the solutions in Brightspace), In-class presentation or midterm exam 20%, Final project 30%
The
homework grading is
based on the level of correctness and clarity of logical steps
demonstrated in students’ solutions or whether the codes can be run successfully. Final project grading is based on
the content, key concepts, organization, coding, analysis of results,
and documentation.
Topics to be covered and tentative syllabus
(This
is a tentative syllabus. Exam dates and homework due dates may change.
The choice of topics may not exactly follow this tentative syllabus.)
Updated: a collection of 24 recorded videos from Sprng 2025 are available on YouTube
Tentative Syllabus (subject to change)
(week
1) Overview of this course and review of linear algebra, basics
of quantum mechanics, flash review of
Python and the use of Jupyter Notebook, installation of Qiskit. Deutsch
algorithm and IBM Quantum Composer, example Qiskit code
(week
2) More quantum
gates and circuit model of quantum computation; Qiskit tutorial on
gates and circuits. Bernstein-Vazirani and Simon's algorithms (and
their implementation) quantum teleportation, quantum algorithms
including Deutsch, Deutsch-Josza, Simons, Vazirani-Berstein. IBM
Quantum Composer.
(week 3) Grover's quantum search algorithm and its programming and The
variational quantum eigensolver (VQE) and its programming; qiskit_algorithm package and Session in Qiskit
(week
4) Operator class in Qiskit and transpilation (pass manager and predefined stages)
(week 5)
Primitives: Sampler and Estimator; example codes
(week
6) Further tutorials from IBM Q Learning; classical control flows in
Qiskit (if_test, switch, while_loop, for_loop); dynamic circuits
(week
7) Quantum Error Correction and Mitigations; Topological Codes
(week 8) Introduction to PennyLane: basics and fundamentals
(week 9) More on PennyLane
(week 10) Students present Lab codes of QGSS2025;
(week 11) Students present Lab codes of QGSS2025;
(week 12) More applications of VQE (qiskit_algorithm); more from qiskit-machine-learning & from qiskit-nature;
(week 13) Introduction to QuTiP; More on QuTip
(week 14) Student Presentation
There
was a big jump of IBM's Qiskit from version 0.46 to version 1.x in
2024. The current version as of mid Dec 2025 is v2.2 Many earlier
codes (including last year's) need to be modified to suit Qiskit v2.2.
Still basic features such as circuits and gates remain largely stable.
There has also been advocates from IBM on the "utility era", where they
encourage running circuits and tasks that involve a large number of
qubits, e.g., over 100, and they retired all small machines. Existing
devices all have num_qubits > 100. W plan to cover
Qiskit, PennyLane, as well as QuTiP.
Students will need to
install Python and Qiskit on their own laptops (unfortuantely, IBM
retired their web-based Quantum Lab in May 2024). We will go over
installation and students should bring their laptops to class and we
will have time in class to play with Jupyter notebooks.
[update/actual progress]
(week
1) [1/26 (Snow day, class cancelled),1/28]
(week
2) [2/2, 2/4]
(week
3) [2/9, 2/11]
(week
4) [2/16, 2/18]
(week 5) [2/23,
2/25]
(week 6) [3/2, 3/4]
(week
7) [3/9, 3/11]
(week spring recess) [3/16-3/22] Spring Recess: No classes
(week
8) [3/23, 3/25]
(week 9) [3/30, 4/1]
(week 10) [4/6, 4/8]
(week 11) [4/13, 4/15]
(week 12) [4/20, 4/22]
(week
13) [4/27, 4/29]
(week 14) [5/4, 5/6]
(Final
project: TBA)
Academic Integrity Statement
Each
student must pursue his or her academic goals honestly and be
personally accountable for all submitted work. Representing another
person's work as your own is always wrong. Faculty is required to
report any suspected instances of academic dishonesty to the Academic
Judiciary. Faculty in the Health Sciences Center (School of Health
Technology & Management, Nursing, Social Welfare, Dental Medicine)
and School of Medicine are required to follow their school-specific
procedures. For more comprehensive information on academic integrity,
including categories of academic dishonesty please refer to the
academic judiciary website at
http://www.stonybrook.edu/commcms/academic_integrity/index.html
Critical Incident Management
Stony
Brook University expects students to respect the rights, privileges,
and property of other people. Faculty are required to report to the
Office of University Community Standards any disruptive behavior that
interrupts their ability to teach, compromises the safety of the
learning environment, or inhibits students' ability to learn. Faculty
in the HSC Schools and the School of Medicine are required to follow
their school-specific procedures. Further information about most
academic matters can be found in the Undergraduate Bulletin, the
Undergraduate Class Schedule, and the Faculty-Employee Handbook.