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.
What 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, so don't assume your data-structures intuition transfers. Work the parallel prefix examples until you can reconstruct them.
Today
Today's CSE 332 plan
What a Fennie Daily Plan looks like for CSE 332. Yours is built from your own syllabus and adapts every day to your deadlines and progress.
First plan free, no card required. Fennie is independent and unaffiliated with your school.
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, so practice both separately.
More 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.