Very good! Recommendation for improvement: The final week ought to be broken in two. The video sessions are long and have several topics. Splitting in two would be helpful and realistic to the volume and complexity of the topics.
Approximation Algorithms and Linear Programming

This course continues our data structures and algorithms specialization by focussing on the use of linear and integer programming formulations for solving algorithmic problems that seek optimal solutions to problems arising from domains such as resource allocation, scheduling, task assignment, and variants of the traveling salesperson problem. Next, we will study algorithms for NP-hard problems whose solutions are guaranteed to be within some approximation factor of the best possible solutions. Such algorithms are often quite efficient and provide useful bounds on the optimal solutions. The learning will be supported by instructor provided notes, readings from textbooks and assignments. Assignments will include conceptual multiple-choice questions as well as problem solving assignments that will involve programming and testing algorithms. This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more: MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder
Status: Operations Research
Status: Theoretical Computer Science
AdvancedCourse46 hours

All reviews
Showing: 8 of 8
All Learners
All Stars
Most Helpful
Sergio Perinhas
5.0
Reviewed Mar 5, 2024Romel A Munoz Valencia
5.0
Reviewed Jun 29, 2024The previous course in the series has us solving hard problems using greedy algorithms and dynamic programming. This course follows the trend of hard problems but introduces another tool to our toolkit, Linear Programming. Dr. S does not disappoint. His outstanding content delivery and detailed Jupyter Notebooks are an improvement over those in previous courses, which are already some of the best I've taken. The theory of algorithms is still present for those interested in the deep dive. However, this pathway truly shines in the programming assignments. This course manages to one-up previous courses with problem difficulty, but Dr. S does a fantastic job with notes, problem statements, and hints to help you formulate solutions. Despite this, there is no hand-holding. This course is rigorous, but if you've taken every course so far, you will have the skill set to conquer it.
Nahorniak Dmytro
5.0
Reviewed Jan 17, 2024Much better than previous courses in this specialization
Marco Santos
5.0
Reviewed Mar 31, 2024Very challenging but all in all a great course.
Hidetake Takahashi
5.0
Reviewed Feb 13, 2024best as always
Thrinesh Pandavula
5.0
Reviewed Apr 15, 2024nice
Pedumuri Govinda Swamy
4.0
Reviewed Apr 14, 2024it really amazing!!
Alvin Vuong
1.0
Reviewed Jul 22, 2025Huge blocker to progress on the programming assignment for Week 1. The grader is broken and failed to grade my submissions. This really hurt my motivation to continue with the course, since I posted on the discussion forums and reached out to support only to be met with an AI chatbot that refused to forward me to a human.
Show: 20 results per page