Skip to content

Full-time Ph. D. Program

Ph.D. Course Guide

Ph.D. Coursework

We keep a complete list of courses that we offer on the “Courses” page of our website.

If you’re looking for the quarters in which we expect to offer specific courses, check out our teaching schedule.

If you’re looking for an add code, check out the 500-level section of our non-major registration instructions.


Degree Requirements

A total of approximately 90 credits is required to complete the CSE Ph.D. program, 60 of which must be earned at the University of Washington. The University requires 60 credits earned before scheduling the General Exam and requires a cumulative GPA of 3.0 for graduation. Coursework taken toward the M.S. degree is applicable toward the Ph.D. degree.

As you plan your coursework, keep in mind the following requirements:

  • 45 credits minimum must be from the Computer Science & Engineering curriculum.
  • 15 credits may be in supporting fields, such as: engineering, mathematics, natural sciences, business administration, linguistics, philosophy, psychology, or medicine.

Of the 90 total credits required for the Ph.D. degree:

  • 40 credits must be in 500 level courses or above.
  • At least 18 numerically graded credits at the 500-level must be completed in order to earn the Master’s Degree
  • 27 credits must be Computer Science 800 (dissertation).

Back to top


Upcoming 500-level Course Offerings

The sections below highlight course offerings in the upcoming academic year.

Breadth Courses

Accessible Accordion

Group 1: Theory, Mathematical, & Formal Reasoning

  • CSE 505 – Principles of Programming Languages – Andres Erbsen
  • CSE 515 – Statistical Methods in Computer Science – Sewoong Oh (Also Group 3)
  • CSE 534 – Quantum Information & Computation – Chinmay Nirkhe
  • CSE 535 – Theory of Optimization & Continuous Algorithms – Thomas Rothvoss
  • CSE 546 – Machine Learning – Matt Golub // Pang Wei Koh (Also Group 3)

Group 2: System Design & Implementation

  • CSE 548 – Computer Systems Architecture – Mark Oskin
  • CSE 561 – Computer Communication & Networks – Ratul Mahajan
  • CSE 564 – Computer Security & Privacy – David Kohlbrenner (Also Group 4)
  • CSE 567 – Digital VLSI: Gates to Systems – Michael Taylor

Group 3: ML/AI, Interacting with Data, & Statistical Applications

  • CSE 515 – Statistical Methods in Computer Science – Sewoong Oh (Also Group 1)
  • CSE 541 – Interactive Learning – Kevin Jamieson
  • CSE 546 – Machine Learning – Matt Golub // Pang Wei Koh (Also Group 1)

Group 4: Human-facing

  • CSE 564 – Computer Security & Privacy – David Kohlbrenner (Also Group 2)
  • CSE 580 – Computing for Social Good – Kurtis Heimerl

Group 1: Theory, Mathematical, & Formal Reasoning

  • CSE 546 – Machine Learning – Grover // Natasha Jaques (Also Group 3)

Group 2: System Design & Implementation

  • CSE 549 – High-Performance Computer Architectures – Michael Taylor
  • CSE 550 – Computer Systems – Ratul Mahajan
  • CSE 554 – Systems for Machine Learning – Baris Kasikci // Stephanie Wang
  • CSE 567 – Digital VLSI: Gates to Systems – ECE

Group 3: ML/AI, Interacting with Data, & Statistical Applications

  • CSE 512 – Data Visualization – Leilani Battle (Also Group 4)
  • CSE 527 – Computational Biology – Su-In Lee
  • CSE 542 – Reinforcement Learning – Kevin Jamieson
  • CSE 546 – Machine Learning – Grover // Natasha Jaques (Also Group 1)
  • CSE 571 – AI-based Mobile Robotics – Deiter Fox
  • CSE 582 – Ethics in Artificial Intelligence – Yulia Tsvetkov (Also Group 4)

Group 4: Human-facing

  • CSE 512 – Data Visualization – Leilani Battle (Also Group 3)
  • CSE 582 – Ethics in Artificial Intelligence – Yulia Tsvetkov (Also Group 3)

Group 1: Theory, Mathematical, & Formal Reasoning

  • CSE 507 – Computer-Aided Reasoning for Software – Zachary Tatlock
  • CSE 521 – Design & Analysis of Algorithms I – Shayan Oveis Gharan
  • CSE 525 – Randomized Algorithms & Probabilistic Analysis – Anup Rao
  • CSE 526 – Cryptography – Nirvan Tyagi

Group 2: System Design & Implementation

  • CSE 562 – Mobile Systems & Applications – Shyam Gollakota (Also Group 3)

Group 3: ML/AI, Interacting with Data, & Statistical Applications

  • CSE 547 – Machine Learning for Big Data – STAT
  • CSE 557 – Computer Graphics – Nick Sharp (Also Group 4)
  • CSE 562 – Mobile Systems & Applications – Shyam Gollakota (Also Group 2)
  • CSE 574 – Explainable Artificial Intelligence – Su-In Lee
  • CSE 576 – Computer Vision – Linda Shapiro
  • CSE 579 – Intelligent Control through Learning & Optimization – Abhishek Gupta

Group 4: Human-facing

  • CSE 557 – Computer Graphics – Nick Sharp (Also Group 3)

CSE 599: Special topics

Accessible Accordion

CSE 599 (I): High-Dimensional Expanders & Applications

Description: This will be a graduate course that will cover topics in graph expansion and its generalization to higher dimensions. The second half of the course will focus on recent applications of high-dimensional expanders to long-standing open questions coding theory and probabilistically checkable proofs.

Prerequisites: No prerequisites except for mathematical maturity.


CSE 599 (J): Social Reinforcement Learning

Description: How can we accelerate AI when learning in an environment with other intelligent agents? This course focuses on Social Reinforcement Learning in multi-agent and human-AI interactions. After reviewing the basics of deep reinforcement learning (RL), we will cover RL fine-tuning of large language models (LLMs), including RL from human feedback, and multi-turn RL. We will then turn our attention to multi-agent RL, examining the complexities of modeling, learning from, and coordinating with other agents. Topics will include zero-shot coordination with humans, learning from human feedback, and emergent complexity. The course will then link these two perspectives, and show how techniques developed for learning from other agents can provide a new path for training safer and more effective language models.

The course is designed to be a research project course, and help students learn how to successfully complete a research paper on these topics. In addition to reading and discussing relevant research papers, students will submit a team-based final project in the form of a research paper. Although we will cover a brief introduction to reinforcement learning (RL), familiarity with RL and deep learning is encouraged.

Prerequisites: Machine Learning (e.g. CSE 446 or 546) or Deep Learning

CSE 599 (C) – Quantum Coding Theory

Description: Graduate-level introduction to the theory of quantum error correction and fault tolerance. The course will connect theoretical ideas to realistic noise models and examples from experimental quantum computing. Grades are based on class participation and a project in which students study the literature on a family of quantum error-correcting codes and present their findings to the class. Exact topics to be determined based on the interests of the enrolled students.

Prerequisites: (Suggested) CSE 534 and some familiarity with graph theory.


CSE 599 (D) – Course Title TBD

Description: TBD

Prerequisites: TBD


CSE 599 (F) – Course Title TBD

Description: TBD

Prerequisites: TBD


CSE 599 (G) – Deep Learning for Computer Vision

Description: Deep Learning has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection and language understanding tasks like summarization, text generation and reasoning. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art systems.

This course is a deep dive into the details of deep learning algorithms, architectures, tasks, metrics, with a focus on learning end-to-end models. We will begin by grounding deep learning advancements particularly for the task of image classification; later, we will generalize these ideas to many other tasks. During the 10-week course, students will learn to implement and train their own neural networks and gain a detailed understanding of cutting-edge research in deep learning. Additionally, the final assignment will give them the opportunity to train and apply multi-million parameter networks on real-world vision problems of their choice. Through multiple hands-on assignments and the final course project, students will acquire the toolset for setting up deep learning tasks and practical engineering tricks for training and fine-tuning deep neural networks.

Prerequisites: Linear algebra (e.g. Math 208) and Calculus (e.g. Math 124, 125)


CSE 599 (I) – Prototyping with AI for Performing Arts

Description: We will spend the first half of the quarter working in dynamic teams, experimenting with AI tools and fabrication technologies (analog and digital) to invent new instruments, props, wearables, and other resources for creative performance. Some of these inventions will be delightful, others will be perplexing, and a few simply won’t pan out. Regardless, we will learn to fabricate new AI-infused performance tools, and begin developing ideas about how we want to perform with them. In the second half of the quarter, we will act on those ideas, composing, choreographing, and rehearsing performances to share at the end of the term.

Prerequisites: HCDE and iSchool (INSC) graduate students welcome, and are able to enroll directly. Fine arts students please sign up using cross-listings MUS 594 or MUS 494 respectively. All others interested in taking the course contact Prof. Shapiro (rbs@cs.uw.edu) directly to discuss.


CSE 599 (K) – Empirical Research Methods

Description: This course covers qualitative and quantitative research methods and focuses on properly designing experiments and observational studies, choosing appropriate statistical methods and models, and reasoning about the validity of experimental designs. This course involves lectures, paper discussions, and hands on experience for data analysis and visualization.

Prerequisites: TBD


CSE 599 (N) – Machine Learning for Neuroscience

Description: Brains are remarkably complex, massive networks of interconnected neurons that underlie our abilities to intelligently sense, reason, learn, and interact with our world. Technologies for monitoring neural activity in the brain are revealing rich structure within the coordinated activity of these interconnected populations of neurons. In this course, we will discuss machine learning models that can be applied toward 1) understanding how neural activity in the brain gives rise to intelligent behavior and 2) designing algorithms for brain-interfacing biomedical devices. Topics will include basic neurobiology, classical probabilistic machine learning foundations, and modern deep learning approaches, including variational autoencoders and recurrent neural networks. Coursework will include readings from the machine learning and computational neuroscience literature, programming assignments, and a final modeling project applied to neural population data.

Prerequisites: Grad students: No formal prereqs to enroll. Should be comfortable with: programming in Python; multivariate calculus (e.g., MATH 126); probability & statistics (e.g., CSE 312/STAT390) and linear algebra (e.g., MATH 208).

Undergrads: Must have taken CSE 446 or 546 previously or be taking concurrently. Undergrads meeting prereqs may enroll without petition, for add code please reach to grad-advising@cs.washington.edu

  • 599(S) – Advanced Machine Learning – Sewoong Oh
  • 599(TBD) – Course Title TBD – Michael Ernst
  • 599(TBD) – Course Title TBD – Jerry Li