This document provides an overview of a graduate level machine learning course. It will be taught in a topic-driven format with introductory lectures, paper readings, homework, and in-class discussions. Students will present on a paper or subject at the end of the course. The course will cover foundational machine learning theories and tools to help students develop their own models and algorithms, rather than focusing on teaching specific algorithms like support vector machines. Topics will include Markov chain Monte Carlo, exponential family distributions, generalized linear models, empirical risk minimization, proximal optimization methods, graphical models, variational inference, and handling big data.