Computer Science 188 — Introduction to Artificial Intelligence (4 Units)

Course Overview


CS188 introduces the basic ideas and techniques underlying the design of intelligent computer systems with a specific emphasis on the statistical and decision-theoretic modeling paradigm. By the end of the course, you will have built autonomous agents that efficiently make decisions in stochastic and in adversarial settings, drawn inferences in uncertain environments, optimized actions for arbitrary reward structures, and created machine learning algorithms.


  • CS61A, 61B
  • CS70 or Math 55

Topics Covered

  • Search and Planning
  • Uninformed Search (Depth-First, Breadth-First, Uniform-Cost)
  • Informed Search (A*, Greedy Search)
  • Heuristics and Optimality
  • Constraint Satisfaction Problems
  • Backtracking Search
  • Constraint Propagation (Arc Consistency)
  • Exploiting Graph Structure
  • Game Trees and Tree-Structured Computation
  • Minimax, Expectimax, Combinations
  • Evaluation Functions and Approximations
  • Alpha-Beta Pruning
  • Decision Theory
  • Preferences, Rationality, and Utilities
  • Maximum Expected Utility
  • Markov Decision Processes
  • Policies, Rewards, and Values
  • Value Iteration
  • Policy Iteration
  • Reinforcement Learning
  • TD/Q Learning
  • Exploration
  • Approximation
  • Application of Neural Nets using TensorFlow


Course Work

  • Weekly Problem Sets
  • Around Five Projects
  • One/Two Midterm(s)
  • One Final

Time Commitment

Outside of lecture and discussion, expect to spend an average of 5 hours per week on this class. The weekly problem sets are online and are set up so you work on the assignment until you get everything correct. Projects may require extra hours, but these projects tend to be straightforward and interesting. Also, projects can be done in partners.

Choosing the Course

When to take

Take this class soon after you complete CS70 (or Math55) since CS70 gives you a basic grounding in probability. You may also want to take it concurrently with CS170 because the graph traversal section of CS188 and the graph theory section of CS170 have overlapping ideas.

What next?

  • CS189: Introduction to Machine Learning
  • CS281A: Statistical Learning Theory
  • CS281B: Advanced Topics in Learning and Decision Making
  • CS288: Artificial Intelligence Approach to Natural Language Processing

Usefulness for Research or Internships

Research: This class is a gateway for research in any field involving AI, including machine learning, natural language processing, robotics, and other fields.

Internships: The concepts explored in CS188 sharpen problem-solving abilities, which help with job interviews that involve probability and reasoning puzzles. Also, many of the topics in this class have direct applications

Additional Comments/Tips

There is an free, public online version of the course offered at

Last edited: Fall 2016