CS 189/289A is the Machine Learning course at UC Berkeley. I have had the fortune to be a TA for this course last semester, and I am currently a TA for for the second time. In this guide I have created course notes along with my good friend Garrett Thomas in order to share our knowledge with students and the general public, and hopefully draw the interest of students from other universities to Berkeley's Machine Learning curriculum.


  • Note 1: Levels of Abstraction, Ordinary Least Squares (OLS) Regression, Vector Calculus
  • Note 2: Polynomial Features, Hyperparameters, Overfitting, Ridge Regression
  • Note 3: Regression Hyperparameters, Error, Validation
  • Note 4: Gaussians, Maximum Likelihood Estimation (MLE)
  • Note 5: Maximum a Posteriori Estimation (MAP), Bias-Variance Tradeoff

Useful Resources

  • Guide on Long Short Term Memory networks (LSTMs)

Resources from Past Semesters

  • Prof. Shewchuk's notes from Spring 2017
  • Previous exams