Stanford CS229 is the classic ML course taught by Andrew Ng. Unlike the more hands-on CS231n, CS229 emphasizes mathematics and algorithmic principles.

Key areas: supervised learning (regression, SVM, decision trees), learning theory (bias-variance, VC dimension), unsupervised learning (K-means, PCA, EM), and reinforcement learning (MDP, value iteration, policy gradients).

It complements the textbook discussed in 10 Takeaways from Reading ‘Deep Learning’ — one focuses on principles, the other on practice.