UW 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.
Fennie is independent and not affiliated with University of Washington. This is an unofficial study guide.
Build my CSE 122 study planWhat makes it hard
CSE 122 assumes fluency with the basics, so students who barely scraped through CSE 121 or whose high school course was light can struggle immediately. Choosing the right data structure for a problem and handling nested collections (like a Map of Lists) are the classic sticking points, and the quarter leaves little time to backfill fundamentals.
What you'll cover
- • Lists, sets, and maps
- • Stacks and queues
- • File I/O and text processing
- • Reference semantics and objects
- • Nested collections
- • Intro to algorithmic complexity
The CSE 122 study guide
How to study for UW CSE 122, step by step.
- 1
Audit your CSE 121 fundamentals in week one
CSE 122 assumes fluency with loops, methods, and arrays from day one. Spend the first week rewriting a few old 121-style programs from scratch — gaps you find now are cheap; gaps found at midterm are not.
- 2
Write a scratch program for every new collection
When lists, sets, or maps are introduced, build a tiny throwaway program that uses each one. Reading about a Map and having used a Map are different skills, and exams test the second.
- 3
Drill nested collections specifically
A Map of Lists is the classic CSE 122 sticking point. Practice declaring, populating, and iterating nested structures until you can sketch the data layout before writing any code.
- 4
Resubmit early and read every line of feedback
The resubmission grading means your first submission is a draft. Submit days before the deadline so the feedback cycle has room to improve both your grade and your understanding.
- 5
Let Fennie pace the data-structure pileup
Upload the CSE 122 syllabus and Fennie turns it into a Daily Plan that spreads collection practice across the quarter, with quizzes and flashcards built from your actual course content. Free to start.
Start my CSE 122 plan free
How Fennie helps with CSE 122
Fennie's Daily Plans pace the quarter around your assignment deadlines so data-structure-heavy weeks don't pile up. When a nested Map of Lists stops making sense, chat through the structure step by step, and generate practice questions on choosing between collections before exams.
FAQ
Is CSE 122 hard?
It's a step up from CSE 121. The course moves quickly through collections, and students whose fundamentals are shaky feel it by midterm. Solid weekly practice keeps it manageable.
Can I skip CSE 121 and start with CSE 122?
Yes, if you have prior programming experience — an AP CS A score of 3+ earns CSE 121 credit, and UW's self-placement tool helps you decide. Most students with a real prior course start at 122.
What comes after CSE 122?
CSE 123, which covers implementing data structures, recursion, and object-oriented design. The 12X sequence together replaces the old CSE 142/143 pathway into the CS major.
Pass CSE 122 with a plan, not a cram
Upload your CSE 122 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 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.
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.