UW CSE 332: Data Structures and Parallelism
CSE 332 is the Allen School's core data structures and algorithms course: asymptotic analysis, balanced trees, hashing, sorting, graph algorithms, and — distinctively — parallelism and concurrency with the ForkJoin framework. It's a gateway to most upper-division CSE courses.
Fennie is independent and not affiliated with University of Washington. This is an unofficial study guide.
Build my CSE 332 study planWhat makes it hard
The pace is relentless: AVL trees, B-trees, hash collision strategies, and parallel prefix all land within a few weeks of each other, and the projects are substantial. The parallelism unit is the most novel material — reasoning about work, span, and race conditions is unlike anything in the intro sequence.
What you'll cover
- • Asymptotic analysis and recurrences
- • AVL trees and B-trees
- • Hash tables and collision resolution
- • Sorting algorithms
- • Graph algorithms (BFS, DFS, Dijkstra, MSTs)
- • ForkJoin parallelism and concurrency
The CSE 332 study guide
How to study for UW CSE 332, step by step.
- 1
Stay a topic ahead of lecture
CSE 332 stacks AVL trees, B-trees, and hashing within weeks of each other, and falling one topic behind compounds fast on the quarter system. Skim the next unit's notes before it's lectured so class is reinforcement, not first contact.
- 2
Derive runtime bounds instead of memorizing them
For every structure, be able to argue why an operation is O(log n), not just recite that it is. Exams test the derivation, and recurrences you can solve from scratch don't evaporate under pressure.
- 3
Start projects the day they're released
The projects are substantial and the debugging tail is long. Starting early also means project concepts are digested before they show up on exams.
- 4
Give the parallelism unit its own study block
ForkJoin, work/span analysis, and race conditions are unlike anything in the intro sequence — don't assume your data-structures intuition transfers. Work the parallel prefix examples until you can reconstruct them.
- 5
Run the quarter through Fennie
Upload the CSE 332 topic schedule and Fennie's Daily Plan gives each structure dedicated practice days before the next one lands, with runtime-bound flashcards and quizzes generated from your actual course materials. Free to start.
Start my CSE 332 plan free
How Fennie helps with CSE 332
Fennie's Daily Plans schedule CSE 332's dense topic list so each data structure gets dedicated practice days before the next one arrives. Chat through why a recurrence solves the way it does or how a race condition sneaks into parallel code, and drill flashcards on runtime bounds — the exam staple.
FAQ
Is CSE 332 hard?
Yes — it combines theory-heavy exams with time-consuming projects. Students call the pace the hardest part; falling one topic behind compounds quickly on a quarter system.
What's the difference between CSE 332 and a normal data structures course?
CSE 332 adds parallelism and concurrency (ForkJoin, work/span analysis, locks) to the standard structures-and-algorithms core, which most universities defer to later courses.
How should I study for CSE 332 exams?
Work old exams under time pressure and be able to derive runtime bounds, not just recite them. The projects teach implementation, but exams test analysis — practice both separately.
Pass CSE 332 with a plan, not a cram
Upload your CSE 332 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.
Get started freeMore UW courses
CSE 121 — Introduction to Computer Programming I
CSE 121 is UW's no-experience-required intro to programming in Java, the first course in the CSE 12X sequence that replaced the old CSE 142/143 in 2022. It's designed for students who have never written code, covering variables, control flow, methods, and arrays through weekly programming assignments.
CSE 122 — Introduction to Computer Programming II
CSE 122 is the second course in UW's intro programming sequence, and the usual starting point for students with AP CS A credit or prior coding experience. It covers data structures from the client perspective — lists, sets, maps, stacks, queues — plus file processing and reasoning about code complexity.
CSE 123 — Introduction to Computer Programming III
CSE 123 completes UW's intro programming sequence, shifting from using data structures to building them. Students implement linked lists and binary trees, write recursive algorithms, and design class hierarchies with inheritance and interfaces — the material that used to be the back half of CSE 143.
CSE 311 — Foundations of Computing I
CSE 311 is UW's discrete math and theory course — propositional logic, proofs, set theory, induction, regular expressions, and finite automata. It's the first course in the major where the work is writing proofs instead of writing programs, and it underpins everything from CSE 312 to algorithms.