The lectures should be self-contained, but these books should help you, especially if you would like to dive deeper.


Requires prereq courses of CSCI 3104 and CSCI 2820 or APPM 3310 or MATH 2130 or CSCI 3022 or APPM 4570 or APPM 3570 or STAT 4250 or MATH 3510 or CVEN 3227 or ECEN 3810 or ECON 3818 or MCEN 4120 (all min grade B). Restricted to Graduate Students Only.

Mathematical background: You will be asked to submit answers to mathematical questions during the first weeks of the course. This does not contribute to your final scores, but it helps both yourself and the instructors to know your mathematical background.

Programming: We will make extensive use of the Python programming language. Most homeworks will be in python3.


  • Joint Probabilities and MLE
  • Linear algebra, Probability, Convex optimization
  • Bias-variance tradeoff and model evaluation 
  • Leakage in data mining: Formulation, detection, and avoidance
  • Naive Bayes and logistic regression 
  • Gradient descent and stochastic gradient descent 
  • Neural networks and deep learning 
  • Backpropagation 
  • Convolutional neural networks
  • Recurrent neural networks (LSTM) 
  • Common techniques in deep learning 
  • Max-margin learning, SVM
  • Duality 
  • Kernels
  • Regularization, regression and multi-class classification 
  • Ensembling/boosting
  • Learning theory 
  • Dimensionality reduction, PCA/SVD 
  • Clustering
  • Expectation-minimization algorithms, Topic models 
  • Variational inference
  • Eisner 
  • Reinforcement Learning 
  • Ethics, Machine learning, and society