- All DegreesExplore Bachelor’s & Master’s degrees
- Bachelor’s DegreesExplore master’s degrees from leading universities
- Master’s DegreesExplore Computer Science & Engineering degrees
- Postgraduate StudiesDeepen your expertise with postgraduate learning
- MasterTrack™Earn credit towards a Master’s degree
- University CertificatesAdvance your career with graduate-level learning

Back to Approximation Algorithms Part I

stars

527 ratings

Approximation algorithms, Part I
How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.
This course assumes knowledge of a standard undergraduate Algorithms course, and particularly emphasizes algorithms that can be designed using linear programming, a favorite and amazingly successful technique in this area. By taking this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques. Upon completion, you will be able to recognize, when faced with a new combinatorial optimization problem, whether it is close to one of a few known basic problems, and will be able to design linear programming relaxations and use randomized rounding to attempt to solve your own problem. The course content and in particular the homework is of a theoretical nature without any programming assignments.
This is the first of a two-part course on Approximation Algorithms....

DA

Jan 26, 2016

The course provides a high-level introduction to approximation algorithm. There is no programming assignments but it provides nice introduction to approximation algorithm.

MH

May 28, 2020

A great course if you want to learn about approximation algorithms from the point of view of linear programming relaxation!

Filter by:

By Mika M

•Jan 23, 2016

The course deals not with programming, but rather with designing and analyzing approximation algorithms. The course is on a high level and focuses on the subject without too much side remarks on applications, connections to other subjects or motivational introductions. If you are a theory person, however, you will probably enjoyed it.

By D. a

•Jan 26, 2016

The course provides a high-level introduction to approximation algorithm. There is no programming assignments but it provides nice introduction to approximation algorithm.

By Mursalin H

•May 29, 2020

A great course if you want to learn about approximation algorithms from the point of view of linear programming relaxation!

By Mustafa Q

•Jan 3, 2017

I love how this course delves into a very promising advanced research topic in Computational Complexity. It helps me a lot to understand trending publications in the area. Specially that the material is presented in an incremental approach. This way a researcher can live through the evolution of ideas. It is inspiring also in the way one comes up with a partial solution for the special case, and then generalizes with approximation factor that is satisfyingly good. I'm looking forward to more advanced courses in parameterized, streaming or quantum algorithms.

By Christophe C

•Jun 12, 2016

Excellent advanced course! Not for beginner in computer science, nor for people more interested in applying computer science than in theoretical foundations.

By Zitong W

•Sep 16, 2017

This course is awesome. Prof. managed to elaborate the problem and analysis clearly and homework is properly assigned.

By Swaprava N

•Jun 27, 2016

This was a relatively easy but well paced introduction to approximation algorithms. I totally enjoyed it.

By Nihal B

•Feb 5, 2016

A useful course which introduces key ideas in Approximation Algorithms. Looking forward to part II.

By Zhouningnan

•Jan 10, 2017

This class is very clear and easy to understand! Thank you for providing such feast for students!

By Eoin M

•May 18, 2020

Fantastic course! Can't wait to do part ii

By Anupam G

•Feb 19, 2020

I am a researcher and (in past) an instructor in SDP, Randomized and Approximation Algorithms.

There are a few instances, where things are not explained as well as an advanced UG or a starting Grad student would like, e.g., Knapsack got a bit delirious somewhere in between (the "special special" case, which IMHO was not needed.)

Otherwise, I love Claire's enthusiasm, and the joy she finds in delivering the ideas. She is succinct everywhere (to me).

By Ilya T

•Aug 27, 2016

The assignments could be a bit improved (some are less good, I would personally complain about knapsack), but in general it is a great course, as it gives an accessible introduction to approximation algorithms (for NP-hard problems), which is a very relevant topic, as NP-hard problems are everywhere.

At the time of writing (end summer 2016), it is also a unique course for this very relevant topic.

By Pavel V

•Feb 8, 2016

Really good course, the material is quite advanced but very well structured and introduced in a very simple way. The assignments were a lot of fun: really enjoyed the peer-graded assignments where I needed to write short proofs, much more useful than regular multiple-choice answers. Looking forward to the next course!

By Jun Q

•Dec 4, 2015

This class is the one I am seeking for a long time. Theories of Combinatorial optimization and associated approximation algorithms involve lots of hot research topics in machine learning, image processing, and Bioinformatics. The faculty for this course is a leading expert in the related fields.

By Karthick S

•May 26, 2016

Excellent Course! I have learnt a lot about Approximation Algorithms in a short span of time.

By Obinna O

•Jan 15, 2016

awesome course!

I'd like to see part 2 and other graduate-level algorithms courses on coursera.

By MANDADI S G

•Oct 26, 2021

Excellent Course Really helped me to have an in depth knowledge in every concept

By Алексей К

•Apr 17, 2016

A really good course for programmers who want to take a bit deeper into CS.

By PodilaSaradaPriya

•Oct 28, 2021

course is good .But certificate is not available please reverify it once

By Huynh L D

•Jan 20, 2016

Very high-level course. After week1 and I'm already excited to start it

By Yoel

•May 22, 2016

Great class, and Professor Claire Mathieu is doing an excellent job!

By Deleted A

•Dec 27, 2015

very nice course. i look forward to the second part!

By POTHI R S

•Sep 30, 2021

It's Wonderful and easy to understand the concept

By Mukesh P

•Sep 26, 2022

excellent course and I have learned many things

By Emanuel M

•Nov 6, 2016

good course, with many examples and explanations

- AWS Cloud A Practitioner's Guide
- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Developing Professional High Fidelity Designs and Prototypes
- Get Google CBRS-CPI Certified
- Introduction to MATLAB Programming
- Learn HTML and CSS for Building Modern Web Pages
- Learn the Basics of Agile with Atlassian JIRA
- Managing IT Infrastructure Services
- Mastering the Fundamentals of IT Support

- Basics of Computer Programming with Python
- Beginners Python Programming in IT
- Building a Modern Computer System from the Ground Up
- Getting Started with Google Cloud Fundamentals
- Introduction to Cryptography
- Introduction to Programming and Web Development
- Introduction to UX Design
- Learn HTML and CSS for Building Modern Web Pages
- Mastering the Fundamentals of IT Support
- Utilizing SLOs & SLIs to Measure Site Reliability

- Building an Agile and Value-Driven Product Backlog
- Foundations of Financial Markets & Behavioral Finance
- Getting Started with Construction Project Management
- Getting Started With Google Sheets
- Introduction to AI for Non-Technical People
- Learn the Basics of SEO and Improve Your Website's Rankings
- Mastering Business Writing
- Mastering the Art of Effective Public Speaking
- Social Media Content Creation & Management
- Understanding Financial Statements & Disclosures