Skip to content

Degree Planning & Requirements

Course Lists

Jump To A Section

CSE Core Courses

(*) Required for Computer Science therefore does not count as elective credit for Computer Science
(**) Required for Computer Engineering; therefore does not count toward elective credit for Computer Engineering

Accessible Accordion

CSE 331 Software Design & Implementation (4) (*)
CSE 333 Systems Programming (4)
CSE 340 Interaction Programming (4)
CSE 341 Programming Languages (4)
CSE 344 Intro to Data Management (4)

*(If CSE 414 is taken before a student is admitted to the Allen School, they may request 414 sub as a 300 level core course. Students should not take both 344 and 414.)

CSE/EE 371 Design of Digital Circuits and Systems (5) (**)
STAT 391 Probability & Statistics for Computer Science (4)
CSE 401 Intro to Compiler Construction (4)
CSE 402 Design and Implementation of Domain-Specific Languages (4)
CSE 403 Software Engineering (4)
CSE 421 Intro to Analysis of Algorithms (3)
CSE 422 Toolkit for Modern Algorithms (3)
CSE 426 Cryptography (3)
CSE 427 Computational Biology (3)
CSE 431 Intro to Complexity (3)

CSE 434 Quantum Computation (4)

CSE 440 Intro to HCI (5)
CSE 442 Data Visualization (4)
CSE 444 Database Systems Internals (4)
CSE 446 Machine Learning (4)
CSE 447 Natural Language Processing (4)
CSE 451 Intro to Operating Systems (4)
CSE 452 Distributed Systems (4)
CSE 453 Data Center Systems (4)
CSE 455 Computer Vision (4)
CSE 457 Computer Graphics (4)
CSE 458 Computer Animation (5)
CSE 461 Computer Networks (4)

CSE 462 Wireless Communications (4)

CSE/EE 469 Computer Architecture I (5)
CSE/EE 470 Computer Architecture II (4)
CSE 473 Artificial Intelligence (3)
CSE/EE 474 Introduction to Embedded Systems (4)
CSE 478 Autonomous Robotics (4)
CSE 484 Computer Security (4)
CSE 486 Synthetic Biology (3)

CSE 493 Special Topics Courses (4)

(*) Required for Computer Science therefore does not count as elective credit for Computer Science

(**) Required for Computer Engineering; therefore does not count toward elective credit for Computer Engineering

Computer Science Natural Science Requirement

To complete the Computer Science degree, students must complete 5 credits from the following list:

  • Physics 121/141
  • Chemistry 142, 143 or 145
  • Biology 180
  • Biology 162 (AP credit) 
  • Physics 116 *and* Physics 119 – generally from AP credit. If you have not taken science, PHYS 121 is recommended as Phys 116 is the 3rd course in a series.
  • Advanced coursework in these areas or other highly relevant may be petitioned

These were the requirements starting in Fall 2022. For students under the older requirements please see the CE Science Requirement list, which includes all the courses that used to count for the CS science requirement when 10 credits were still required.

Back to top


Computer Engineering Natural Science Requirement

Courses that meet the Allen School’s Computer Engineering natural science requirement include:

Chemistry 142/145
Biology 180

And the following list of courses

Accessible Accordion

BIOL 162 (5 credits from Biology AP)

BIOL 180
BIOL 200
BIOL 220
Must take one of the three above as a prerequisite to the following (when required)
BIOL 325, 333, 340, 354, 355, 356, 401, 402, 403, 405, 407, 408, 409, 411, 412, 413, 414, 415, 425, 426, 427, 433, 434, 435, 437, 440, 441, 442, 443, 444, 446, 452, 454, 455, 459, 462, 463, 464, 471, 472, 473, 474, 475, 476, 477, 479, 480.

CHEM 142, 143, 144, 145, 152, 155, 162, 165, 220, 221, 223, 224, 237, 238, 239, 241, 242, 312, 317, 321, other graded 400 level courses by petition.

PHYS 116/119, (but no credit for both 116 and 123),123, 224, 225, 227, 228, 231, 232, 315, 321, 322, 323, 324, 325, 328, 331, 334, 335, 407, 408, 421, 422, 423, 424, 425, 426, 434, 460.

ESS 311, 313, 403, 413, 414, 415, 424, 431, 437, 438, 458, 464, 466, 467, 471.

ASTR 301, 321, 322, 323, 423, 480, 480.

ATM S: 301, 321, 370, 380, 451, 452, 460.

Check with a CSE adviser about courses that are not included in this list, but which require Physics 121, Chemistry 142/145, Biology 180 as a pre-requisite.


CSE Senior Electives Courses

A CSE Senior Electives is a course that has a significant overlap with computer science and engineering, either because it focuses on a significant application or use of computers, it focuses on an underlying technology for computers or communication, or it develops a conceptual or formal framework useful in doing computer science and engineering.

Courses not on this list may be applied toward CSE Senior Electives if approved by the CSE Undergraduate Faculty Advisor. If you would like to petition to have a class count toward (senior) electives, please contact the undergraduate advisers.

Note: Computer Engineering majors may not use the same course to satisfy Math/Science Electives and Computer Engineering or Free Electives

Accessible Accordion

369 Intro to Digital Design (3)
Any course on the CSE Core Course List
Any graded 400-level majors course (includes 498 & 496 but not 499)
480 Computer Ethics (2)
Up to 2 credits max of CSE 301, ENGR 321, General Studies 350 and/or CSE 492
The entire 432 course

There are some non-major courses that a student takes before they are admitted into the program that can apply to the CS or CE degree. We encourage students applying to the Allen School to consider waiting to take the major’s version of courses as these non-major courses are intended for students not pursuing an Allen School degree. Please see the non-majors page for how these courses may overlap if you are considering them. Note that this information can change as courses evolve so it’s best to check back regularly.

401 Vector Calculus & Complex Variables (4)
402 Introduction to Dynamical Systems & Chaos (4)
403 Methods for Partial Differential Equations (4)
422 Introduction to Mathematical Biology (3)
423 Mathematical Biology: Stochastic Models (3)
483 High-Performance Scientific Computing (5)

485 Computational Bioengineering (4)

460 Digital Sound (5)
461-463 Digital Sound Synthesis, Digital Sound Processing, Advanced Digital Sound Synthesis and Processing (5, 5, 5). Offered jointly with Music 401-403.

331, 332 Devices and Circuits I & II (5, 5)
341 Discrete Time Linear Systems (5)
400-level Any graded 400-level majors course with the exception of: EE 406, 452-457, 471, 472, 478, and 491.

321 Engineering Internship Education (one credit may count per quarter, up to two credits total)

360 Principles of GIS Mapping (5)
460 GIS Analysis (5)
463 GIS Workshop (5)
465 GIS Database & Programming (5)

444 Value-Sensitive Design (5) (Effective Autumn 2018, this course will change to INFO 464)
446 Advanced Search Engine Systems (5)
454 Information Policy: Domestic and Global (5)

472 Introduction to Computational Linguistics (5)

307 Differential Equations (3) – NOTE: Once Math 307 becomes 207, it will no longer be a CSE senior elective course.
318 Advanced Linear Algebra Tools and Applications (3)
334, 335, 336 Accelerated Advanced Calculus (5,5,5)
402, 403, 404 Introduction to Modern Algebra (3, 3, 3)
407 Linear Optimization (3)
408 Nonlinear Optimization (3)
409 Discrete Optimization (3)
414, 415 Number Theory (3,3)
424, 425, 426 Fundamental Concepts of Analysis (3,3,3)
435, 436 Introduction to Dynamical Systems (3,3)
441 Topology (3)
442 Differential Geometry (3)
461, 462 Combinational Theory (3,3)
464, 465, 466 Numerical Analysis I, II, III (3, 3, 3)

400 Computer Music Seminar (3, max 9)

341, 342 Introduction to Probability and Statistical Inference I, II (4,4)
421 Introduction to Applied Statistics and Experimental Design (4)
391 Probability and Statistics for Computer Science (also counts as CSE core) (4)

395, 396 Probability II & III (3,3)
491 Introduction to Stochastic Processes (3)

Back to top


Computer Engineering Systems Electives

Accessible Accordion

CSE 401 Introduction to Compiler Construction (4)
– Prerequisites: CSE 332, CSE 351
CSE 402 Design and Implementation of Domain-Specific Languages (4)
CSE 403 Software Engineering (4)
– Prerequisites: CSE 331, CSE 332
– Recommended: project experience such as CSE 331
CSE 444 Database Systems Internals (4)
– Prerequisites: CSE 332, CSE 344
– Recommended: CSE 331 or CSE 333 or substantial software-project experience
CSE 451 Introduction to Operating Systems (4)
– Prerequisites: CSE 332, CSE 333, CSE 351
CSE 452 Introduction to Distributed Systems (4)
– Prerequisites: CSE 332, CSE 333, CSE 451
CSE 453 Data Center Systems (4)
– Prerequisites: CSE 332 and 333; recommended: CSE 451 or 452
CSE 461 Introduction to Computer-Communication Networks (4)
– Prerequisites: CSE 332, CSE 333
CSE/EE 474 Introduction to Embedded Systems (4) OR CSE 466 Software for Embedded Systems (4) *
– Prerequisites: CSE 333, CSE 352
CSE 467 Advanced Digital Design (4)
– Prerequisites: CSE 332, CSE 352
CSE/EE 469 Computer Architecture I (5)
– Prerequisites: CSE 369, CSE 143
CSE/EE 470 Computer Architecture II (4) OR CSE 471 Computer Design and Organization (4) **
– CSE 470 Prerequisites: CSE 351, CSE 469
CSE 478 Autonomous Robots (4)
CSE 484 Computer Security (4)
– Prerequisites: CSE 332, CSE 351
EE 476 Digital Integrated Circuit Design (5)
EE 477 VLSI II (5)

Back to top


Special Topics Courses

  • CSE 390s count towards general electives (not CSE electives). If a CSE 390 course does count towards CSE elective requirements it will be noted in the course description.
  • CSE 492 seminars are credit/no credit. CSE majors may count up to 2 credits of CSE 301, ENGR 321, and/or CSE 492 towards CSE senior electives.
  • CSE 490s that are graded DO count as CSE senior electives. Occasionally a CSE 490 will be allowed as a core course, but that is on a case by case basis and will be clearly articulated below.
  • CSE 493s count as core courses.

Autumn 2025 CSE Special Topics and Seminar Courses

Accessible Accordion

CSE 490 N: Neural Engineering
Taught by: Rajesh Rao
3 credits
Prerequisites: Either BIOL 130, BIOL 162, or BIOL 220; and one of the following: MATH 208, AMATH 301, or AMATH 352
Introduces the field of Neural Engineering: overview of neurobiology, recording and stimulating the nervous system, signal processing, machine learning, powering and communicating with neural devices, invasive/non-invasive brain-computer interfaces, spinal interfaces, smart prostheses, deep-brain stimulators, cochlear implants and neuroethics. Heavy emphasis on primary literature Offered: jointly with BIOEN/EE 460.

CSE 490 A1: Big Ideas in AI
Taught by: Oren Etzioni
2 credits
Prerequisites: CSE 473/573 or CSE 446/546, or equivalent
What is the nature of Intelligence? How can we build intelligent machines? What is the role for humans in an AI world? While neuroscience, philosophy, and psychology all provide insights into these questions, this course will focus on the Big Ideas drawn from the last 60+ years of AI research. We will seek to understand the foundations of machine learning (supervised, unsupervised, and self-supervised), state-space search, representation languages, the power of scale up, and other Big Ideas leading up to the new generation of models such as GPT-4.

We will read foundational papers, discuss them in depth, and write brief essays. The course will meet weekly; in-person attendance and vigorous participation are required. Course application form TBA.

CSE 493 S: Advanced Machine Learning (Joint with CSE 599 S)
Taught by: Jamie Morgenstern
4 credits
Course Description TBA

Spring 2025 CSE Special Topics and Seminar Courses

Accessible Accordion

CSE 492 P1: Patterns for Career Success
Taught by: Philip Su
1 credit
Pre/co-requisite: N/A, but recommended for seniors

Software careers have patterns for success and anti-patterns for failure. This interactive seminar, led by a 26-year industry veteran from OpenAI, Microsoft, and Meta, covers insights across a gamut of topics to accelerate your career.

This pass/fail seminar will include around 15 minutes of weekly assignments, and is intended primarily for seniors and others soon joining industry. Join us to learn tips for growing quickly toward your goals while avoiding common pitfalls.

CSE 492 R: CSE Group Research
Taught by: Leilani Battle
1 credit
Prerequisites: CSE 390 R or at least one quarter of undergraduate research
This seminar is intended for students who are relatively new to research but are starting to explore a specific research project, either as part of a research lab or through the Allen School Guided Undergraduate Research Program. Students who take this seminar should either have taken CSE 390 R or should have done at least one quarter of undergraduate research (e.g., through CSE 499 credits with a faculty). If you are completely new to research, you can wait until the next offering of CSE 390 R (i.e., Autumn 2025).

Students should also be registered for at least 3 credits of independent research (CSE 499 or similar) during the quarter in which they take CSE 492 R since a lot of the course content will be applied to an ongoing research project.

Code Request Form

TBD

CSE 493 H: Computational Design and Fabrication
Taught by: Adriana Schulz
4 credits
Prerequisites: CSE 332, CSE 333, MATH 208/308; CSE 457 or other experience with computer graphics helpful but not required.
This course introduces students to the new and exciting field of computational design and fabrication, which is currently laying the foundations on which the next generation of manufacturing workflows and systems will be built.

The focus of this course is the algorithms and mathematical fundamentals for supporting computational design. The majority of the course will be around computational techniques, however we will also discuss fabrication hardware and workflow. Students are not expected to have any experience with fabrication but we will require a mathematical and computer science background (such as linear algebra, geometry, and algorithmic analysis).

Topics include concepts of geometry processing fundamentals, hardware abstraction languages, physics-based simulation, optimization techniques, and data-driven 3D generative modeling. Course work will involve class participation during lectures (Monday and Wednesday), three coding assignments (all in Python), and participation in 4 design and fabrication labs (Friday timeslot will be used for labs – each student will need to attend labs in this timeslot only half the weeks). There will be no exams.

CSE 493 G1/CSE 599 G: Deep Learning
Taught by: Ranjay Krishna
4 credits
Prerequisites: Linear Algebra (e.g. MATH 208) and Calculus (e.g. MATH 124, 125)
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.

Back to top


Computing & Society

Accessible Accordion

Please refer to the Teaching Schedule for information on when these courses will be offered. Undergrads can request a spot in 500-level courses by completing the petition.

The following courses cover important topics on the impact of computing on society and can be used to fulfill UW degree requirements.

Information School

Additional UW Courses

  • SOC 225 Data and Society (required for the CS Data Science Option)
  • ANTH 303 Technologies of Health
  • ANTH 473 Anthropology of Science And Technology
  • BIOL 270 Data Reasoning in a Digital World
  • HSTAA 317 History of the Digital Age
  • PHG 303 Direct-To-Consumer Genetic Testing: Uses and Issues
  • TXTDS 403 Archives, Data and Databases
  • TXTDS 404 Texts, Publics, and Publication

Back to top


Time Schedules

The Allen School Time Schedule lists credit classes offered at the Allen School. It is updated regularly and is subject to change.

View Time Schedules