There's not much information out there about the grad classes (marked with *), so I hope this is useful. My experiences with 300-level CSE courses are probably outdated as a lot of those classes have been recently restructured.

**CSE 599O***: Differentiable and Probabilistic Programming Languages**MATH 515***: Optimization- Aravkin is an engaging lecturer. When I learned optimization in the past, it seemed like a bag of arbitrary algorithms people just came up with. He tells the story of how different ideas were developed over time.
- Topics: (proximal) gradient descent and variants, second-order methods, primal-dual methods (splitting and interior point), convex analysis and duality.
- Three hard homeworks with theory and implementation in code and a final project on anything related to optimization.

**CSE 507***: Computer-Aided Reasoning for Software Engineering- Topics: the theory of SAT and SMT solving, and their application to programs. It's interesting to compare these techniques, which feel like smart exhaustive search, with the logical proof techniques found in 505.
- Some rough edges on the homeworks, which made them very time consuming.

**CSE 521***: Design and Analysis of Algorithms- Shayan covered randomized algorithms, spectral graph theory, and some optimization. He's good at motivating abstract results.
- He makes fresh homework problems for every iteration of the class. Final presentation where you talk about a recent theory paper and Shayan asks you questions about it.
- Learned a lot of linear algebra and gained confidence in bounding quantities. The Math department will consider this as an elective towards a math degree.

**CLAS 430**: Greek and Roman Mythology- With Hinds, the grade was entirely based on two in-person 40 question multiple choice exams. It was enough to do the readings the night before both exams.

**Notes**: Moderate workload. Started doing research
under Gilbert!

**CSE 557***: Computer Graphics- The course project was an abbreviated version of CMU's Scotty3D, in which you implement a software rasterizer, mesh operations, a pathtracer, animations along splines, and basic collision physics.
- The first offering of graduate graphics in 6 years.

**CSE 493S**: Advanced Machine Learning- Half the quarter was spent on theoretical statistical learning and optimization results, and the other half covered recent developments in LLMs. The two halves felt disconnected. Based on what I've heard, I would skip this and just take the revamped NLP or Deep Learning.

**MATH 404**: Fields- The hardest course in the algebra sequence. Worth taking to understand the proof of the unsolvability of the quintic.

**Notes**: Moderate to heavy workload. Started attending
research group meetings.

**CSE 505***: Principles of Programming Languages- The homeworks use
~~Coq~~Rocq to prove properties of programs, starting in simple arithmetic expression languages but building up to simply typed lambda calculus. - Amazing energy from the Zach and James duo. I highly recommend regardless of your PL experience if they're teaching.

- The homeworks use
**MATH 403**: Groups**ENGL 242**: Reading Prose Fiction**(TA) CSE 312**: Probability

**Notes** Would've been a moderate workload, but TAing
takes a surprising amount of time because of the administrativa
involved.

**CSE 446**: Machine Learning**CSE 341**: Programming Languages**MATH 402**: Rings**MUSIC 162**: American Popular Song- The only graded component is a few multiple choice Canvas quizzes that you can comb through the slides and textbook for.

**CSE 422**: Advanced Toolkit for Modern Algorithms- This class is like CSE 521 without proofs. I recommend 422 if you want to see randomized algorithms and implement them, and 521 if you want to analyze them theoretically. I think the latter gives more value.

**CSE 452**: Distributed Systems- The value of this class is really overrated at UW. It is a good introduction to thinking about large scale system development, but I don't think it's a must take or anything you couldn't pick up working on infra at a big tech company.

**MATH 336**: Honors Complex Analysis- Extremely cool. If Steinerberger is teaching, do it.

**PSYCH 210**: Human Sexuality- Supposed to be easy, but the quizzes were easy to mess up on. I had to participate in a couple studies for extra credit. Don't underestimate.

**Notes**: Very heavy workload. Don't recommend this
schedule.

**CSE 344**: Introduction to Data Management**CSE 431**: Introduction to Theory of Computation**MATH 335**: Honors Real Analysis**HSTAM 112**: The Medieval World

**Notes**: Strange quarter because the first half was
fully remote.

**CSE 312**: Probability**CSE 332**: Data Structures & Parallelism- Despite having seen the content in some capacity before, I still found the course helpful for formally reasoning about data structures/algorithms/parallelism.
- The project specs were hard to interpret, although it did seem like the projects were under construction.

**MATH 334**: Honors Real Analysis

**Notes**: Light to moderate workload. Successful first
in-person quarter at college! I fortunately finished recruiting early in
the quarter, started working out, and learned a lot about living more
independently.

**CSE 311**: Discrete Math- If you've seen discrete math (sets, logic, basic number theory, induction) before, the only interesting part is the end which covers DFAs, NFAs, graphs, and formal languages. Try to get the advisors to let you override with 431.

**CSE 333**: Systems Programming- I came in with a lot of C++ and C experience and still found the lectures and homeworks to be useful, especially the content on concurrency, networking, and POSIX. The slides are good interview studying material.
- The course project (multithreaded search engine) has design decisions already figured out, so completing it is paint in the numbers coding.

**MATH 136**: Honors Linear Algebra- Also covers basic multivariable calculus.
- I don't think there's a strong reason to do the 13X sequence over the standard 126/208/207. The only sequence you absolutely should take is 33X.

**CHEM 152**: General Chemistry- ALEKS (the online homework platform) is truly infuriating.

**Notes:** Fully virtual quarter. I don't recommend this
schedule, although without chemistry I think it would be fine. Spent
what little free time I had preparing for ICPC.

**CSE 331**: Software Design & Implementation- 331 was recently completely redesigned, which is a shame because I enjoyed the old structure where you would slowly build up the infamous CampusPaths app. I also liked that they taught React instead of some stone age Java framework.

**MATH 135**: Honors Differential Equations- I don't get why this is taught before linear algebra. Mostly about taking Laplace transforms and everything is mechanical. Some sequences and series.

**CHEM 142**: General Chemistry**ARCH 150**: Appreciation of Architecture I

**Notes:** Fully virtual quarter.

**CSE 351**: The Hardware/Software Interface**CSE 391**: System and Software Tools**CSE 190**: Direct Admit Seminar**MATH 134**: Honors Calculus**ENGL 111**: Composition: Literature

**Notes:** Fully virtual quarter.