CS 399 - Programming Quantum Algorithms

Term and Credits

Winter 2021-2022
3 Credits

Room and Time

Section 001 - TW 10-11:20PM Prof. Boady [Zoom]


Mark Boady
Electronic Mail Address: mwb33@drexel.edu
Office: 3675 Market Street Room 1058 (near snack machine)
Extention: 215-895-2347
Office Hours: Tuesday/Thursday TBD

Course Description

Covers the basics of Quantum Computing and famous algorithms. Introduces qubits, quantum gates, and quantum circuits. Examines the linear algebra and mathematical concepts needed to understand quantum circuits. Studies famous quantum algorithms including Deutsch-Jozsa, Simon, Shor, and Grover. Examines current topics in quantum algorithms.

Course Objective and Goals

  1. Understand what a qubit is.
  2. Understand all basic quantum gates.
  3. Relate linear algebra to quantum computing.
  4. Program and apply famous quantum algorithms.
  5. Modify existing algorithms to create new programs.


  1. Linear Algebra and Complex Numbers
  2. Qubits and Quantum Gates
  3. Classical Computation on Quantum Systems
  4. Deutsch-Jozsa Algorithm
  5. Simon's Algorithm
  6. Shor's Algorithm
  7. Quantum Fourier Transform
  8. Grover's Algorithm
  9. Current topics in Quantum Algorithms

Audience and Purpose within Plan of Study

This class is targeted a high level Computer Science students. It assumes a significant amount of algorithmic and low level computer knowledge. It is targeted at students who want to tranfer their traditional programming skills into quantum algorithm design and programming.

This subject benefits from the abilities to creatively use the software development and mathematical tools that students know as advanced undergraduates: CS260 (Minimum Grade C+), CS 270 (Minimum Grade C+), MATH 201 - Linear Algebra (Minimum grade C+).

What Students Should Know Prior to this Course

  1. Basics of Linear Algebra
  2. Algorithm Design and Analysis
  3. Programming in a High Level Programming Language
  4. Logic and it's relation to computer circuits
  5. General mathematical skills

What Students will be able to do upon Successfully Completing this Course: Statement of Expected Learning

  1. Implement quantum circuit given an existing algorithm
  2. Test and analyze quantum circuits
  3. Modify existing quantum algorithms to solve problems
  4. Explain why quantum algorithms work correctly.


Introduction to Quantum Algorithms via Linear Algebra (Second Edition)
Author: Richard J. Lipton and Kenneth W. Regan
Published: April 6, 2021
ISBN-10: 0262045257
ISBN-13: 978-0262045254
Buy from Amazon

Learn Quantum Computation using Qiskit
Available free online: https://qiskit.org/textbook/preface.html

Grading and Policies

Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.

Course Material

Late Policy

Academic Honesty Policy

The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/.

Academic Honesty Violations will be reported to the University. Punishment will be determined by the severity of the incident. Punishments include, but are not limited to,



Each week you will reflect on the concepts you learned in a reading assignment in a blog post.

You will comment on two other students posts.

Homework Assignments

There will be 8 homework assignments. Some will be written and some will be programming.


Each student will present two (midterm and final) presentations of quantum algorithms. Student will select topics from areas not covered by class. The student will present a teaching lecture on the topic to the rest of the class via a recorded video.

University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

Appropriate Use of Course Materials

It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/
Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University's Code of Conduct found at: https://drexel.edu/cpo/policies/cpo-1/ and will be investigated as such.

Recording of Class Activities:

In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.
Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors' prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.
If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at: https://drexel.edu/provost/policies/grade-appeals/

Mask Etiquette for the 2021 Fall Quarter

As of August 3, 2021, Drexel requires all students and employees to wear a mask in all on-campus public and shared spaces, including instructional and research settings, regardless of vaccination status. Specifically, masks are to be worn in classrooms, laboratories, lecture halls and seminar rooms. Students are not permitted to eat during class or otherwise remove their mask. If a student needs to remove their mask (to drink water etc.) they may step outside the class, to do so and then return to class. Please remember your mask to avoid class disruption.

If a student does not wear a mask or follow other required health and safety guidelines in the classroom, the instructor will take the following steps:

As members of the Drexel community, we all play a role in supporting our collective health and safety, and I appreciate your collaboration and commitment to this. If you have questions or concerns about masking in class, please do not hesitate to ask. More information about masking is available at the link above and on the Drexel Response to Coronavirus website.

Tentative Course Schedule

Please see the appropriate assignment webpages for a detailed description of course deliverables.

Week Topic Assignments
1 (January 3, 2022) Linear Algebra Introduction and Qubits Blog 1 - Friday Jan 7 at 11:59PM
Comments 1 - Sunday Jan 9 at 11:59PM
Homework 1 - Tuesday Jan 11 at 11:59PM
2 (January 10, 2022) Understanding Quantum Circuits Blog 2 - Friday Jan 14 at 11:59PM
Comments 2 - Sunday Jan 16 at 11:59PM
Homework 2 - Tuesday Jan 18 at 11:59PM
3 (January 17, 2022)
[Martin Luther King Day]
Phase Kickback Blog 3 - Friday Jan 21 at 11:59PM
Comments 3 - Sunday Jan 23 at 11:59PM
Homework 3 - Tuesday Jan 25 at 11:59PM
4 (January 24, 2022) Deutsch-Jozsa Algorithm Blog 4 - Friday Jan 28 at 11:59PM
Comments 4 - Sunday Jan 30 at 11:59PM
Homework 4 - Tuesday Feb 1 at 11:59PM
5 (January 31, 2022) Simon's Algorithms Blog 5 - Friday Feb 4 at 11:59PM
Comments 5 - Sunday Feb 6 at 11:59PM
Midterm Presentation - Tuesday Feb 8 at 11:59PM
6 (February 7, 2022) Integer Representations and classic FFT Blog 6 - Friday Feb 11 at 11:59PM
Comments 6 - Sunday Feb 13 at 11:59PM
Homework 5 - Tuesday Feb 15 at 11:59PM
7 (February 14, 2022) Quantum Fourier Transform and Phase Recovery Blog 7 - Friday Feb 18 at 11:59PM
Comments 7 - Sunday Feb 20 at 11:59PM
Homework 6 - Tuesday Feb 22 at 11:59PM
8 (February 21, 2022) Shor's Algorithm Blog 8 - Friday Feb 25 at 11:59PM
Comments 8 - Sunday Feb 27 at 11:59PM
Homework 7 - Tuesday Feb 29 at 11:59PM
9 (February 28, 2022) Grover's Algorithm Blog 9 - Friday Mar 4 at 11:59PM
Comments 9 - Sunday Mar 6 at 11:59PM
Homework 8 - Tuesday March 8 at 11:59PM
10 (March 7, 2022) Quantum Algorithms in use today Blog 10 - Friday Mar 11 at 11:59PM
Comments 10 - Sunday Mar 13 at 11:59PM
Final Presentation - Tuesday March 15 at 11:59PM
11 (March 14, 2022) Watch one other student's presentations and submit feedback by Fri March 18 at 11:59PM