
University of Colorado Boulder
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures. This course can be taken for academic credit as part of CU Boulderâs MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. The
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems. We will also cover some advanced topics in data structures. This course can be taken for academic credit as part of CU Boulderâs MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. The
Sriram Sankaranarayanan
Department of Computer Science