Skip to main content
UCLA
Computer Science
4 credits

UCLA CS 180: Introduction to Algorithms and Complexity

CS 180 is UCLA's algorithms course: graph algorithms, greedy methods, divide and conquer, dynamic programming, network flow, and NP-completeness. It's the theory core of the upper division and the course most directly mirrored in technical interviews.

Fennie is independent and not affiliated with UCLA. This is an unofficial study guide.

What makes it hard

180 demands algorithm design plus correctness proofs and runtime analysis; partial understanding produces zero-credit attempts, and the dynamic-programming and reduction questions are the classic separators. The ten-week pace compresses notoriously hard material, so the gap between following lecture and inventing solutions on an exam closes fast.

What you'll cover

  • Graph algorithms and traversals
  • Greedy algorithms
  • Divide and conquer and recurrences
  • Dynamic programming
  • Network flow
  • NP-completeness and reductions

The CS 180 study guide

How to study for UCLA CS 180, step by step.

  1. 1

    Refresh proof and graph basics before week one

    180 assumes you can write induction and exchange arguments and reason about graphs immediately. On a ten-week quarter there's no warm-up period: arrive ready or spend midterm one catching up.

  2. 2

    Attempt every problem solo before collaborating

    The learning is in the struggle before the discussion. Give each homework problem a real solo attempt first; students who skip straight to group solutions consistently underperform on exams.

  3. 3

    Treat dynamic programming as state, recurrence, base case

    DP decides CS 180 grades. For every problem, write the subproblem definition explicitly before the recurrence; naming the state precisely is the hard part, and exams reward it.

  4. 4

    Rehearse the standard NP reductions

    Internalize the direction of a reduction and drill the canonical ones from lecture. Exam reductions are variations on patterns you can train deliberately rather than invent cold.

Today

Today's CS 180 plan

Preview
65 min

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

0 / 4 done~65m remaining
Keep this plan free

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

FAQ

Is CS 180 hard at UCLA?

It's one of the harder required CS courses because it fuses proof-writing with algorithm invention on a compressed quarter timeline. Students solid in discrete math and graphs adapt within weeks; rusty proof skills make the fast start rough.

What's the hardest part of CS 180?

Most students point to dynamic programming and NP-completeness reductions. Both are trainable: DP rewards defining the subproblem explicitly before anything else, and reductions follow patterns that practice makes recognizable.

How do I prepare for CS 180?

Be honest about your proof fluency and graph-algorithm recall before the quarter; 180 leans on both from problem one. Working a few induction and graph proofs beforehand removes most of the early shock on the ten-week schedule.

More UCLA courses