Berkeley CS 188: Introduction to Artificial Intelligence
CS 188 is Berkeley's upper-division AI course, famous for its Pacman project series: search, constraint satisfaction, game trees, Markov decision processes, reinforcement learning, probabilistic inference with Bayes nets and HMMs, and an introduction to machine learning. The Pacman framework Berkeley built here is used in AI courses worldwide.
Fennie is independent and not affiliated with UC Berkeley. This is an unofficial study guide.
Build my CS 188 study planWhat makes it hard
The projects are guided and beloved, which lulls students — the exams are the hard part, demanding hand-execution of algorithms (minimax with pruning, value iteration, variable elimination) and probability manipulations under time pressure. The probabilistic second half punishes anyone whose CS 70 probability got rusty.
What you'll cover
- • Search algorithms and heuristics
- • Constraint satisfaction problems
- • Game trees and minimax
- • Markov decision processes and reinforcement learning
- • Bayes nets and probabilistic inference
- • Hidden Markov models and machine learning basics
The CS 188 study guide
How to study for Berkeley CS 188, step by step.
- 1
Refresh probability before the second half arrives
Bayes nets, HMMs, and particle filtering assume CS 70-level probability is instant. Review conditional probability and expectation mid-semester, before the probabilistic unit starts, not during it.
- 2
Hand-execute every algorithm, not just implement it
The Pacman projects make algorithms work for you; the exams make you be the algorithm. Run A*, minimax with alpha-beta, and value iteration on paper for small examples until execution is mechanical.
- 3
Treat the projects as concept previews
After each Pacman project, write down what the algorithm assumes and when it fails — that conceptual layer is what exam questions probe, and the project alone doesn't force it.
- 4
Drill past exams for speed
188 exams are long, and hand-simulation under time pressure is the recurring complaint. Past exams from the course archives, worked timed, are the only realistic rehearsal.
- 5
Cover the semester with Fennie
Upload the CS 188 schedule and Fennie's Daily Plans pace projects, probability review, and exam drills together, generating hand-execution practice and probability quizzes from your actual course materials. Free to start.
Start my CS 188 plan free
How Fennie helps with CS 188
Upload the CS 188 schedule and Fennie's Daily Plans slot probability review before the Bayes-net unit and keep exam drills running alongside the Pacman projects. Chat through why an algorithm makes the choice it does — the conceptual layer exams probe — and quiz with hand-execution problems on minimax, value iteration, and inference.
FAQ
Is CS 188 hard?
The projects are among the best-liked in the major and quite guided; the exams are where the difficulty lives. Hand-executing algorithms and manipulating probabilities under time pressure takes deliberate practice beyond completing the projects.
Do I need machine learning background for CS 188?
No — 188 is the intro. It assumes data-structure fluency and CS 70-level probability, and its ML unit is a light introduction. If you want the math-heavy treatment, that's CS 189, which many students take after 188.
Should I take CS 188 or CS 189 first?
188 first is the common path: it's broader, lighter mathematically, and motivates the ML material 189 then treats rigorously. Students with strong math sometimes go straight to 189, but they're skipping the gentler on-ramp.
Pass CS 188 with a plan, not a cram
Upload your CS 188 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 Berkeley courses
CS 61A — The Structure and Interpretation of Computer Programs
CS 61A is Berkeley's legendary intro CS course, taught primarily in Python with excursions into Scheme and SQL. It emphasizes abstraction — higher-order functions, recursion, object-oriented programming, and interpreters — and it's the first course in the CS 61 series that every CS and Data Science student takes.
CS 61B — Data Structures
CS 61B is Berkeley's data structures course, taught in Java, covering lists, trees, hashing, graphs, sorting, and asymptotic analysis. It's the second course in the 61 series and the one most cited in industry-interview prep — its projects, including the famous build-your-own-world and Gitlet (build a mini Git), are substantial software engineering exercises.
CS 70 — Discrete Mathematics and Probability Theory
CS 70 is Berkeley's discrete math and probability course, required for the CS major, covering proofs, graph theory, modular arithmetic, RSA, polynomials, counting, and a substantial probability unit. It's the theory gateway — and by reputation, the hardest lower-division course in the major.
CS 61C — Great Ideas of Computer Architecture (Machine Structures)
CS 61C completes Berkeley's 61 series, going below the abstraction line: C programming, RISC-V assembly, CPU datapaths and pipelining, caches, virtual memory, and parallelism. It's required for the CS and EECS majors and is the course where software students finally see what the hardware is doing.