Skip to main content
Berkeley
Electrical Engineering and Computer Sciences
4 credits

Berkeley CS 189: Introduction to Machine Learning

CS 189 is Berkeley's rigorous machine learning course: linear and logistic regression, SVMs, kernels, neural networks, decision trees, clustering, and dimensionality reduction, treated mathematically rather than as a library tour. It's the gateway to ML research and the course where MATH 54's linear algebra gets cashed in.

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

What makes it hard

189 is math-forward: homeworks mix lengthy derivations with coding, and exam questions expect you to manipulate gradients, matrix expressions, and probability fluently. The course's difficulty is mostly imported: students with rusty linear algebra or probability spend the semester paying down that debt at the worst time.

What you'll cover

  • Linear and logistic regression
  • Support vector machines and kernels
  • Neural networks and backpropagation
  • Decision trees and ensemble methods
  • Clustering and EM
  • PCA and dimensionality reduction
  • Bias-variance tradeoff and regularization

The CS 189 study guide

How to study for Berkeley CS 189, step by step.

  1. 1

    Audit your linear algebra and probability before enrolling

    189's difficulty is mostly prerequisite debt. If eigendecompositions, matrix calculus basics, and conditional expectations aren't comfortable, spend the weeks before the semester rebuilding them; it changes the entire course.

  2. 2

    Re-derive the main results yourself

    For each model (least squares, logistic regression, SVMs), close the notes and reproduce the derivation. Exam questions are derivation variations, and reproducing beats recognizing.

  3. 3

    Start homeworks the week they release

    189 problem sets are long, mixing proofs with coding experiments, and they routinely take longer than planned. The coding halves hide debugging time that deadline-week starts can't absorb.

  4. 4

    Build a one-page map of every model

    For each method, record its loss function, assumptions, and failure modes side by side. Exams love compare-and-contrast questions, and the map turns them into lookups.

  5. 5

    Drill past exams for mathematical fluency

    Past 189 exams reveal the expected speed of matrix and gradient manipulation. Work them timed and treat every slow derivation as a flag for targeted review.

Today

Today's CS 189 plan

Preview
65 min

What a Fennie Daily Plan looks like for CS 189. 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 189 hard?

It's one of the most mathematically demanding undergraduate CS courses at Berkeley. The ML concepts themselves are standard; the challenge is fluent linear algebra, probability, and calculus under exam pressure. Strong MATH 54 and CS 70 foundations change the experience completely.

What math do I need for CS 189?

Solid linear algebra (eigendecompositions, projections, matrix manipulation), multivariable calculus (gradients), and probability (conditional expectation, Gaussians). If any of the three is shaky, review it before the semester rather than during.

Is CS 189 worth taking for industry ML jobs?

It's the strongest ML fundamentals signal in Berkeley's undergraduate catalog. The derivation-level understanding it builds is exactly what ML interviews and applied research roles probe. Pair it with project experience for the full picture.

More Berkeley courses