Skip to content

Course Guide

Coursework

A combined page featuring all the Ph.D. coursework information, requirements, and classes.

Jump To A Section

Breadth Courses

Time Schedule and  Information School Ph.D. Teaching Schedule

The Allen School Ph.D. course requirements are outlined on the Ph.D. Process webpage. The courses listed here count as Breadth for the specific quarter/year. If you have any questions, please email grad-advising@cs and one of the advisers will connect with you.

Breadth Courses: 2026-2027

Click the icon to go to the MyPlan registration page for each course.

Course offerings are subject to change.

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 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 510 – Advanced Topics in Human-Computer Interaction – James Fogarty

All Breadth Courses by Group

Group 1: Theory, Mathematical, & Formal Reasoning
  • CSE 505: Programming Languages
  • CSE 507: Computer-aided Reasoning
  • CSE 515: Statistical Methods
  • CSE 521: Algorithms for all
  • CSE 525: Randomized Algorithms
  • CSE 526: Cryptography
  • CSE 531: Complexity
  • CSE 534: Quantum Information and Computation
  • CSE 535: Theory of Optimization and Continuous Algorithms
  • CSE 546: Machine Learning
  • CSE 552: Distributed Systems
Group 2: System Design & Implementation
  • CSE 501: Compilers
  • CSE 503: Software Engineering
  • CSE 544: Databases
  • CSE 548: Computer Architecture
  • CSE 549: High-performance Computer Architecture
  • CSE 550: Systems for All
  • CSE 551: Operating Systems
  • CSE 552: Distributed Systems
  • CSE 553: Data Centers
  • CSE 554: Systems for Machine Learning
  • CSE 561: Networks
  • CSE 562: Mobile Systems & Applications
  • CSE 564: Security
  • CSE 567: Principles of Digital System Design
Group 3: ML/AI, Interacting with Data, & Statistical Applications
  • CSE 512: Data Visualization
  • CSE 515: Statistical Methods
  • CSE 517: Natural Language Processing
  • CSE 527: Computational Biology
  • CSE 528: Computational Neuroscience
  • CSE 529: Computational Genomics
  • CSE 541: Interactive Learning
  • CSE 542: Reinforcement Learning
  • CSE 543: Deep Learning
  • CSE 546: Machine Learning
  • CSE 547/STAT 548: Machine Learning for Big Data
  • CSE 556: Fabrication
  • CSE 557: Graphics
  • CSE 562: Mobile Systems & Applications
  • CSE 571: Robotics
  • CSE 573: Artificial Intelligence
  • CSE 574: Explainable Artificial Intelligence
  • CSE 576: Vision
  • CSE 579: Intelligent Control through Learning and Optimization
  • CSE 582: Ethics in Artificial Intelligence,
  • Genome 540: Computational Molecular Biology
  • INSC 571: Quantitative Methods in Information Science
Group 4: Human-facing
  • CSE 510: Human-Computer Interaction
  • CSE 512: Data Visualization
  • CSE 513: Disability Inclusion for Technologists
  • CSE 556: Fabrication
  • CSE 557: Graphics
  • CSE 564: Security
  • CSE 580: Computer Science for Social Good
  • CSE 581: Computing Ethics
  • CSE 582: Ethics in Artificial Intelligence
  • EDCI 582: Design Experimentation & Implementation in Context
  • HCDE 544: Experimental & Quasi-Experimental Research Methods
  • HCDE 545: Qualitative Research Methods
  • INSC 570: Research Design
  • INSC 571: Quantitative Methods in Information Science
  • INSC 572: Qualitative Methods in Information Science

Back to top


CSE++ Courses

In addition to the 5 Breadth courses, in order to complete the required coursework for the Ph.D., students must take 2 courses from the CSE++ list if they haven’t already done so.  CSE++ courses include:

  • Graded Ph.D.-level courses numbered 500 and above in CSE (including additional Breadth courses).
  • Graded Ph.D.-level  courses numbered 500 and above in related disciplines such as EE, MATH, A MATH, HCDE, INSC (Information School Ph.D.), STAT, LINGUISTICS, and GENOME.
  • Additional pre-approved CSE++ courses from disciplines not included in the options above are: EDCI 510, EDCI 581, ME 564, ME 565, BIME 532, and NEURO 545.

Courses not on the CSE++ list may be approved on a case-by-case basis. Students who wish to request approval for additional courses should send the Director of Graduate Student Services a document including the course name and description, a syllabus or course website, a paragraph explaining why the course should be approved, and proof of faculty advisor endorsement. 

These final courses can be completed at any time during the Ph.D. program.

CSE 590/591 seminars do not count toward this requirement.

Note: 
HCDE 544 and INSC 571 cannot both be used toward the CSE Ph.D.

HCDE 545 and INSC 572 cannot both be used toward the CSE Ph.D.

Back to top


Graduate Special Topics Courses

If you have any concerns or questions, feel free to reach out to the Instructor listed (for course content questions) or grad-advising@cs (for general registration troubleshooting). You can also schedule an appointment with a grad adviser if needed. If you are interested in taking a CSE 500-level course and need an add code (any non-major), then please review the enrollment petition information on the CSE Non-Major Registration page under “Ph.D./Doctoral Courses (CSE 500 level)”.

Each section has a field designated Non-major Enrollment that provides information on whether the course allows for students outside the Allen School Ph.D. program and how to apply if it does. If you are an Allen School student (Ph.D. or 5th-year), you typically will not need an add code or to apply for enrollment. You can contact grad-advising@cs for registration assistance if needed.

The section marked with an Mailing List: is the mailing list for the course. You’re welcome to use it to contact the instructors for questions.

599s – Special Topics in Computer Science

Accessible Accordion

CSE 599 (TBD): TBD

Description: TBD

Prerequisites: TBD


CSE 599 (TBD): 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

TBD

TBD

Collaborative Course Offerings

Collaborative course offerings for 25-26 will be updated as information becomes available.

590s – Research Seminar

Accessible Accordion

CSE 590 (C): Computational Biology

Description: A taste of current research in Computational Biology (local and non-) + critical reading of literature + presentation skills. Students, with faculty advice, pick and present CompBio papers from recent journals/conferences. Students & faculty also present their own research (mostly in Spring, but may be sprinkled throughout, depending on schedules). Background knowledge of biology is not assumed; come learn!

Non-major Enrollment: The seminar is interdisciplinary, and non-majors are welcome. Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: See Webpage

 

 

CSE 590 (C1): Change Seminar

Description: Change is a group of faculty, students, and staff at the UW who are exploring the role of information and communication technologies (ICT) in improving the lives of underserved populations, particularly in the developing world (though domestically as well). We cover topics such as global health, education, micro finance, agricultural development, and general communication, and look at how technology can be used to improve each of these areas.

Non-major Enrollment: The seminar is interdisciplinary, and non-majors are welcome. Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: http://changemm.cs.washington.edu/mailman/listinfo/change

 

 

CSE 590 (D): Creativity and Computing

Description: Computer scientists ask what it means for a work or process to be “creative” seriously, seeking formal models and tools to help humans and computers define, explore, and augment solution spaces together. We will cover foundational work on computational approaches to creativity as well as modern applications of this work to fields including the visual arts, music, mathematics, and the sciences.

The seminar will consist of weekly discussions of readings that help us understand creative processes more formally and computationally. Participants are asked to take one hour a week for reading preparation, and to co-lead one discussion. We have background readings prepared, and are looking forward to selecting additional readings based on everyone’s research and hobbies. It should be a fun time!

Non-major Enrollment: The seminar is available for all UW students and the content is designed to be widely accessible. Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: N/A

 

CSE 590 (E): Computer Science Education Seminar

Description: Are you interested in discussing different approaches to teaching Computer Science? Are you wondering what kind of research people do in CS education? Are you thinking about a career that involves a lot of CS teaching?<br.
A seminar for people interested in discussing topics related to Computer Science education. The format for this quarter will be a weekly discussion of readings from a variety of sources such as CS education conferences (e.g. SIGCSE, ITiCSE, ICER), journal articles on teaching approaches, or excerpts from books on teaching. Participants will be expected to do the readings, participate in weekly discussions, and co-lead one of the discussions.

Non-major Enrollment:Complete the 590E enrollment request form.

 

 

CSE 590 (F): Computing And The Developing World

  • Instructor:Richard Anderson (he/him)
  • Course Website: TBA

Description: The seminar will consist of weekly discussions of readings that help us understand creative processes more formally and computationally. Participants are asked to take one hour a week for reading preparation, and to co-lead one discussion. We have background readings prepared, and are looking forward to selecting additional readings based on everyone’s research and hobbies. It should be a fun time!

  • Non-major Enrollment: Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

 

 

CSE 590 (H): HCI/Interactive System Seminar

Description: A weekly seminar held on Fridays at noon, run by HCI PhD students, where we gather informally to discuss new and foundational HCI literature, get to know one another, and learn together. Typically, it’s a mixture of guest speakers, paper discussions, and informal conversations about HCI research. HCI Seminar is intended primarily for graduate students who do HCI research with CSE faculty members.

Non-major Enrollment: Open to students who are research-active with relevant CSE faculty. Email grad-advising@cs.washington.edu with your request, specifying who you are research-active with, in order to receive an add code.

 

 

CSE 590 (J): Dub Seminar

Description: DUB is a grassroots alliance of faculty, students, researchers, and industry partners interested in Human Computer Interaction & Design at the University of Washington.

Our mission is to bring together an interdisciplinary group of people to share ideas, collaborate on research, and advance teaching related to the interaction between design, people, and technology.

Non-major Enrollment: Student researchers can email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: Dubs Mailing List

 

 

CSE 590 (L): Networks

Description: TBA

 

CSE 590 (N): Software Engineering

Description: TBA

Non-major Enrollment: Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

 

 

CSE 590 (P): Programming Languages

Description: TBA

Non-major Enrollment: Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

 

 

CSE 590 (Q): Database Seminar

  • Instructor:Magdalena Balazinska (she/her)
  • Course Website: TBA

Description: Weekly seminar organized by database faculty and students where we read papers on exciting topics related to data management.

Non-major Enrollment: The seminar is available for all UW students and the content is designed to be widely accessible. Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: data-science-seminars@cs.washington.edu

 

 

CSE 590 (R): Robotics Colloquium

Description:

      The Robotics Colloquium features talks by invited and local researchers on all aspects of robotics, including control, perception, machine learning, mechanical design, and interaction. The colloquium is held Fridays between 1:30-2:30pm.

Non-major Enrollment: Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

 

CSE 590 (V): Vision

Description: Only for Linda Shapiro’s research students in CSE, ECE and BIME.

Non-major Enrollment: Only students who are doing research with Linda Shapiro.

 

 

CSE 590 (W): Create Accessibility Seminar

Description: The seminar is for students and faculty members to explore research in accessible computing for people with disabilities in the context of human-computer interaction (HCI). The seminar consists of short student presentations of current research results, followed by discussion and critical evaluations the research.

 

 

CSE 590 (X):How to PhD II

Description: A seminar for first year PhD students focused on enriching students’ sense of belonging, camaraderie and purpose in their first year in the program. The seminar also addresses advising, choosing research problems, and the core skills needed to thrive in the Ph.D. program and beyond, including making engaging presentations and writing clearly, time management and work-life balance. Meets 3-4 times per quarter.

 

 

CSE 590 (Y): Computer Security And Privacy Seminar

Description: The focus of this quarter is on papers (to be selected by participants) appearing in recent computer security & privacy or security & privacy-adjacent venues. All enrolled participants are expected to present at least one paper and to attend the rest of the presentations.

Non-major Enrollment: Email instructor for permission and forward confirmation to grad-advising@cs.washington.edu in order to receive an add code.

Mailing List: https://mailman.cs.washington.edu/mailman/listinfo/uw-security-research

 

 

CSE 590 (Z): Theory

  • Instructor:James R Lee (he/him)
  • Course Website: TBA

Description:

MyPlan

591 – Group Projects

Accessible Accordion

CSE 590 (A): Programming Systems

  • Instructor: Dan Grossma (he/him)
  • Course Website: TBA

Description: TBA

 

CSE 590 (B): TBA

  • Instructor: Rajesh Rao (he/him)
  • Course Website: TBA

Description: TBA

 

CSE 590 (D): Database

  • Instructor: Dan Suciu
  • Course Website: TBA

Description: TBA

 

CSE 590 (O): TBA

  • Instructor: Luis Ceze
  • Course Website: TBA

Description: TBA

 

CSE 590 (P): TBA

  • Instructor: Linda Shapiro
  • Course Website: TBA

Description:

 

CSE 590 (Q): TBA

  • Instructor: Luke Zettlemoyer
  • Course Website: TBA

Description: TBA

MyPlan

Back to top