Chevron Left
Back to Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

Learner Reviews & Feedback for Shortest Paths Revisited, NP-Complete Problems and What To Do About Them by Stanford University

786 ratings

About the Course

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search)....

Top reviews


Feb 27, 2017

This challenging course improves understanding of algorithms and is intellectually stimulating. I learnt the theory behind algorithms and how they are applied to solve real world problems.


Aug 22, 2018

This is the most challenging course in this specialization. Assignments as well as test questions require good amount of thinking.

One of the best courses I did on Coursera.

Filter by:

1 - 25 of 105 Reviews for Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

By Yusuke U

Dec 23, 2018

There were countless challenging and stressful moments during this specialization for me because I didn't have any CS knowledge or experience before. But, all in all, it totally worth it, a lot of learning and aha moments involved while torturing myself. I definitely recommend this course to everyone who want to dip their toes into CS world.

By Cindy T

May 31, 2018

This was definitely a challenging yet extremely rewarding experience. The lectures were top notch. In fact I was taking another algorithms course at the time, but I felt it lacked the necessary proofs and in my opinion just jumped to the conclusion. I tried listening to the lectures from this course and immediately switched over. The projects also trained me to use efficient data structures and be aware of memory management. The quizzes also required in depth understanding of the material, while the discussion forums provided lots useful hints in that regard. Overall, it's definitely a good use of time and I'm glad I completed the entire specialization!

By Jakub C

Jul 1, 2018

A very nice introduction to algorithms from a high-level mathematical perspective. This course is great for building intuition about key concepts. Highly recommended. I did the Princeton algorithms course first. Both are great. The first tests one more on the implementation side and requires Java. This course is more focused on theory and a great complement. Too bad there is not a Part 5, 6, ….

By Nelson L W

May 27, 2017

I´ve done all 4 courses on the Algorithms series from Stanford, and I have to say this is a top notch, very high standing course on the subject. Tim Roughgarden is an incredible teacher/instructor, the material is excelent and the assignements are challenging yet very useful and engaging. Funny how this course made me wish going back to college even at my age. Will definetely follow up with similar courses if I can find them in Coursera.

By Subodh C

Sep 25, 2017

Need more explanatory answer sets.

By GongPing

Sep 7, 2017

The lectures gives much more information than previous 3-courses. And I often found I need extra practices (on-line alg interview problems) and reading (CLRS, e.g.) to grasp the course materials. The programming assignments are also more demanding. However, after finishing this course, I believe I have achieved better and deeper understanding of Algorithm design and analysis than I could imaged before taking this final NP course. And I am looking forward to learn more from Professor Tim Roughguarden's 'a second course on Algorithm' on youtube. Thank you very much, professor! Your knowledge and passion is totally incredible! And Thank you very much for fellow students on the discussion forums. It has been a great pleasure to learn with you all :)

By Aleksandar

Mar 5, 2019

Significantly more challenging when compared to the courses 1 to 3. ) I highly recommend this course, but people who are about to take this course should be aware that they will probably have to spend a bit more time.

By Besher A M

Dec 31, 2019

Very challenging course, but it's very rewarding and highly recommended for anyone looking to learn more about algorithms.

I don't have a CS background, so I really appreciated the knowledge that I gained from the course. It helped me build the intuition to reason about algorithms and learn how to design/use them, which is something I was sorely lacking before.

By Jemaal K

Feb 16, 2019

Tim has done a real fantastic job distilling the conceptual and mathematical proofs of some of the most prolific computational algorithms that drive our technological society today. Even though I'm a seasoned programmer, I am now more comfortable discussing algorithmic analysis and design far beyond what I learned during my undergrad studies.

By Yixian H

Jan 2, 2020

That should be the best algorithm course i have ever known -- way better than what I take in a graduate school. The discussion form is very useful -- every time there is some guy figure out a brilliant solution to conquer the problem. Thanks Prof. Roughgarden for the wonderful experience he brings to us!

By Jephte E

Dec 27, 2019

I am very confident in the skills I learned. I have read some books on algorithms but this course makes the application so clear regardless of your programing language.

By Minsub L

Nov 13, 2019

very interesting course in Algorithms Specialization.

It is sufficient to arouse interest in studying advance algorithm.

Thank you for your teaching, Professor Tim.

By Pranjal V

Nov 23, 2017

Thank you do much, this has been an amazing journey! Best Algorithms course online 11/10!

By Rúben G

May 13, 2020

From the entire specialization, this course was the most difficult for me. I am giving less stars on this one just because I believe there was a detail on the TSP Dynamic Programming solution that was seen for the first time on the entire specialization and it was not offered proper explanation for how to approach it. Namely, the part of 2-D array indexed by subsets. I really struggled with this aspect during the implementation and I had to do additional research where I found the concept of PowerSet and how to use bit manipulation to represent power sets.

By Nikita T

Aug 8, 2021

All courses from the specialization are great. Perfect order of material with gradual increase of complexity(not something I find extremely often). Professor avoided a lot of very boring details(which is very convenient) and on the other hand provided really useful hints and full-blown proofs for algorithms discussed in the course. The problem sets and the programming assignments turned out to be of moderate complexity to pretty challenging. However it exposes underestimates in expected amount of time that to be taken by PS/PA. Whatever it is, but it's rarely took me 30 minutes as stated(often more).

Unfortunately neither parts 5, 6... of the specialization exist nor the professor is the instructor in any other course on Coursera. There are many videos with him on YT where he runs same and more advanced algorithms lectures in Stanford but it's totally different format.

By Yuxing C

Apr 10, 2020

This is an extremely good course. I feel very passionate about algorithms after finishing this course. I'm a master student at CMU and I think this course suits me better than some of our core courses. I'm that kind of person who very much enjoys thinking a problem through myself and it is amazing how professor Tim Roughgarden delivers the material in both progressive and informative ways. The discussion forum is also amazing but sometimes the solution is too obvious to find. Overall, I enjoy this course so much that I feel like I don't have a passion for other parts of computer science. I will definitely take it if there is an advanced version coming. Thanks, professor!

By Christopher P

Aug 2, 2020

The fourth installment of Professor Roughgarden's Coursera Algorithms course provides a solid overview of the all-pairs-shortest-paths problem and does a nice job of introducing NP-complete problems. Special emphasis is given to the classic traveling-salesman problem as well as an excellent overview of the local-search algorithm paradigm. As a bonus, the companion text "Algorithms Illuminated Part 4: Algorithms for NP-Hard Problems" was published in July 2020, and provides in-depth material supporting the course.

By Mikhail K

Apr 5, 2020

This course and all specialization from 4 courses was really interesting and constantly motivated me to study algorithms carefully with close attention to details. Thanks to this course I have got very important and useful knowledge in my professional area and also have got deep understanding how to write implementations of algorithms more effectively. I would like to say "Thank you!" to the teacher Tim Roughgarden for this interesting course and for his series of books "Algorithms Illuminated".

By Sergey T

Aug 2, 2020

I liked this course, thank you very much! It was an exciting and challenging journey which I have already tried almost 6 years ago, and now I finished it off :)

I must say it's a pity that we didn't cover any of those linear programming and, say, max-flow algorithms in this specialization. I learned very much, especially on how to build correct and, even more, optimally implemented programming solutions. Maybe, later? If so, I would LOVE to come again!

By Richard P

Jan 7, 2018

This has been a tough but very rewarding learning experience, and that includes the entire series of four courses. You learn to really appreciate Tim, who is the instructor, for his passion and care about teaching the material to his students. The homework assignments can be a lot of work, but also can be quite interesting. The discussion forums are very helpful for the assignments. Thanks for the great learning experience and the wonderful effort.

By Sriram V

Sep 6, 2020

This was the hardest course in this specialization. But the quality of the course material and the instructor's way of explaining kept me engaged and motivated. The problems and the programming assignments were significantly harder than the earlier courses in this specialization - but it felt that much more satisfying after completing the course. Special thanks to Prof. Roughgarden for creating such an amazing course. :-)

By Katrina C

Apr 17, 2020

Awesome course and specialization overall, I learned so much, not just about the algorithms themselves either but about python via my attempts at implementing the algorithms and data structures. And it was awesome how this course built upon previous topics covered throughout the specialization, and code I wrote way back in course 2 on week 1 was extremely helpful! I had a lot of fun in this specialization!

By Xiaokang W

Jul 23, 2017

I really love this course. What the professor said was just to the points he wanted to convey and no not-related sentences. He controlled extremely well about to what level of details to unfold. Last but not least, he adds complexity of problems gradually. I saw he taught a follow-up course at Stanford and I can watch the videos on Youtube. If the course were on Coursera, I would take it.

By jeremy j

Apr 3, 2020

Very nice course, carefully designed and Prof Tim clearly explained the main material. Most of the homeworks are strightforward to implement, while some of them required you to think hard for several days. In general I learned a lot from this course, definately recommanded.

By Toshikazu Y

Oct 31, 2019

Great specialization to learn algorithms from zero to hero. Having a mathematical background, I found the explanations and the proofs in the lectures crystal clear throughout the entire specialization. Some quizzes and programming exercises were challenging but enjoyable.