This course covers core and recent machine learning algorithms. Topics include supervised learning algorithms (linear and logistic regression, generative models for classification, learning theory), deep learning algorithms (feedforward neural networks, convolutional neural networks, recurrent neural networks), unsupervised learning algorithms (variational autoencoders, generative adversarial networks, mixture models), and reinforcement learning (classic RL, deep RL).