Techniques for formulating data science models as optimization problems. Algorithms for solving data science problems including gradient-descent based algorithms and randomized algorithms. Emphasis on scalability and efficiency. Convergence analysis of algorithms. Coverage of both convex and nonconvex optimization.