Introduction to Quantum Computing
CSE 190 / Math 152 - Spring 2025

Place and Time:Podemos 1A20, TTh 2:00pm-3:20pm
Instructor:Daniel Grier (dgrier@ucsd.edu)
Course staff:Jack Morris (jrm035@ucsd.edu), Ryan Batubara (rbatubara@ucsd.edu)
Resources:Canvas, Gradescope, Piazza

Daniel's office hours:Thursday from 3:30pm-4:30pm in APM 7141
Jacks's office hours:Tuesday from 11am-12pm in CSE B250A
Ryan's office hours:Monday from 3pm-4pm in APM 5829

Assignments

These lecture notes cover all material for this class. They will be updated throughout the quarter (last updated: 6/1/25). I have also included links to these excellent notes by John Watrous for a different perspective on many of the topics.
Lecture 1 Introduction to quantum bits and quantum operations 1.1, pg 1-5
Lecture 2 Multiple qubits, entanglement, and tensor products 1.2, pg 1-4
Lecture 3 Properties of tensor products 1.2, pg 3-5
Lecture 4 Partial measurement, Dirac notation, Inner/outer products 1.3, pg 6-8
Lecture 5 Inner products, No-cloning theorem, quantum circuits 1.5, 2.1, pg 7-8
Lecture 6 Circuit identities, controlled-operations 2.1, pg 2-5
Lecture 7 Query complexity and Deutsch's algorithm 3.1, pg 3-6
Lecture 8 Deutsch's algorithm continued, Deutsch-Jozsa problem 3.2, pg 3-6
Lecture 9 Deutsch-Jozsa algorithm 3.2, pg 3-6
Lecture 10 Bernstein-Vazirani, Fourier sampling, Simon's problem 3.2, pg 1-5
Lecture 11 Simon's algorithm 3.3, pg 1-5
Lecture 12 Role of structure in quantum speedups 3.4
Lecture 13 Grover's algorithm 3.4, pg 1-6
Lecture 14 Grover's algorithm, manipulating integers using qubits 3.4, 4.1, pg 1-6
Lecture 15 Shor's algorithm, order finding, and Simon's problem revisited 4.2, 4.3, pg 5-7
Lecture 16 QFT and Simon's period finding algorithm 4.3, A.3, pg 5-7
Lecture 17 Quantum algorithm for ordering finding 4.4, pg 1-5

Overview

This is an advanced undergraduate course focusing on the mathematical theory of quantum computers. The course will start with a general introduction to quantum computers: How do we mathematically specify a quantum state? What kinds of operations can we apply to a quantum state? How can we measure quantum states to solve computational problems? After having developed these basics, we will learn how to construct and analyze quantum algorithms, including those that have generated some of the most excitement about the future of quantum computing.

Prerequisites: A previous course in linear algebra is required (Math 18, Math 20F, or Math 31AH). All previous math experience will be very helpful, especially discrete math (Math 15A, CSE 20), probability (Math 11, CSE 21), and complex numbers. No prerequisite knowledge of physics or quantum computation is required.

Topics
Evaluation
Accommodations
Students requesting accommodations for this course due to a disability must provide a current Authorization for Accommodation (AFA) letter issued by the Office for Students with Disabilities. Students are required to discuss accommodation arrangements with instructors and OSD liaisons in the department in advance of any exams or assignments.

Following UCSD (and common) practice recommended by the Academic Integrity Office, assessments, especially those given at non-overlapping times, will be comparable, but may not be identical. This practice is meant to maintain course integrity, avoiding non-allowed collaboration (either intentional or accidental).