Skip to main content
UW
Computer Science & Engineering
4 credits

UW 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.

Fennie is independent and not affiliated with University of Washington. This is an unofficial study guide.

What makes it hard

The material is genuinely introductory, but UW's quarter system gives you only ten weeks, and students with zero programming background can fall behind by week three if they treat it like a reading course. The resubmission-based grading rewards consistent weekly effort over cramming, which trips up students used to last-minute pushes.

What you'll cover

  • Java syntax and program structure
  • Variables, expressions, and data types
  • Conditionals and loops
  • Methods and parameters
  • Arrays
  • Basic debugging and code quality

The CSE 121 study guide

How to study for UW CSE 121, step by step.

  1. 1

    Start every assignment the day it opens

    CSE 121's ten-week quarter has no slack. Students who fall behind by week three rarely recover. Opening the assignment early surfaces confusion while there's still time to ask about it.

  2. 2

    Use the resubmission cycle on purpose

    Submit a working-but-imperfect version early, read the grader feedback carefully, and resubmit. The grading system rewards iteration, so treat feedback as part of the assignment, not a verdict.

  3. 3

    Show up to quiz section with questions written down

    Quiz sections are where TAs work problems at exam difficulty. Arrive with the two or three things from lecture that didn't click, and leave with them resolved.

  4. 4

    Trace code by hand before every assessment

    Write out what a loop or method call does on paper, line by line, without running it. Assessments test whether you can predict behavior, not just produce it.

Today's CSE 121 plan

Sample
65 min

What a Fennie Daily Plan looks like for CSE 121. Yours is built from your syllabus and adapts every day to your deadlines and progress.

  • Review: ArraysReview · 25 min

    Work back through the CSE 121 material on arrays. In the app, Fennie builds this from your own notes and syllabus.

  • Practice: Basic debugging and code qualityPractice · 20 min

    Targeted problems on basic debugging and code quality, the kind CSE 121 actually tests.

  • Quick quiz: Java syntax and program structureQuiz · 10 min

    Five generated questions to expose weak spots on java syntax and program structure before the exam does.

  • Preview: Variables, expressions, and data typesPreview · 10 min

    A first pass over variables, expressions, and data types so the next session starts from familiar ground.

Get my real CSE 121 plan free

First plan free, no card required. Fennie is independent and unaffiliated with your school.

FAQ

Is CSE 121 hard?

Not if you keep pace. It's built for students with no programming experience, but the ten-week quarter punishes procrastination. Students who start assignments early and resubmit for feedback do well.

What happened to CSE 142 at UW?

UW retired CSE 142 and 143 in 2022 and replaced them with CSE 121, 122, and 123. CSE 121 covers roughly the first part of the old CSE 142; students with prior experience often start at CSE 122.

Should I take CSE 121 or CSE 122?

Take CSE 121 if you've never programmed. If you have AP CS A credit or solid prior experience, UW's self-placement guidance generally points you to CSE 122.

More UW courses