Back to Divide and Conquer, Sorting and Searching, and Randomized Algorithms

4.8

2,611 ratings

•

485 reviews

The primary topics in this part of the specialization are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), and randomized algorithms (QuickSort, contraction algorithm for min cuts)....

Sep 14, 2018

Well researched. Topics covered well, with walkthrough for exam.le cases for each new introduced algorithm. Great experience, learned a lot of important algorithms and algorithmic thinking practices.

Jun 11, 2017

A really exciting and challenging course. Loved the way the instructor explained everything with so much detail and precision. Definitely looking forward to the next course in the specialization.

Filter by:

By Joshua S

•Oct 03, 2018

I have a degree in CS, but it's been over 15 years, so I took this course as a refresher. I've previously taken Dr. Sedgewick's Algorithms II course (also on Coursera) 4 years ago. Both courses are excellent. The Princeton course has lots of meaty programming projects that are more similar to a traditional data-structures classes. The Stanford course is a little heavier on theory, while remaining very practical. Professor Roughgarden is a fantastic lecturer, and the material is extremely well crafted with lots of fully worked examples of classic problems. While slower than Sedgewick's course, I really needed something that would pound these ideas and concepts into my head, and this course does a great job with that.

By Ian D

•Jan 03, 2019

The instructor is simply not good at explaining these concepts. In contrast to the Princeton course his explanations are dense, condescending, and totally removed from the day to day practice of software development. I would not recommend this course to anyone.

By Divij S

•Jan 23, 2018

I have issues with the content/style of this course. My main issue is that the course requires understanding of maths topics to understand the course content, which is fine, and the lecturer provides some review of those topics. However, my main issue/frustration is that a large part of the quizzes is about the maths which the course relies on, not on what is taught in the course itself. In other coursera CS courses, the lecturer uses some maths in explanations/lectures, which requires understanding those maths topics, but then the course does not test you on your understanding of the maths which is not taught in the course - it tests your ability to understand and implement what was taught. I understand the maths well enough that I can follow the proofs provided in the lectures, but there wasn't enough material on the maths to expect me to be able to draw conclusions by performing similar proofs on my own. This made the course quite frustrating. The result is also that though I understand the algorithms taught, if I want an in-depth understanding of the maths, proofs, and analysis, I'll have to study this topic from scratch again from another source, which makes my time spent on this course almost a complete waste.

Additionally, with the way courses are on coursera, its very hard to learn from your mistakes. You either know the answers or you don't. There's no explanation about why your answer is correct/incorrect.

I did learn a lot about algorithms and for the most part the lecturer taught well. My only complaint is that the course is set up in such a way. The content does not include enough about maths and analysis to quiz you almost solely and quite thoroughly on maths and analysis, which it does.

By Adam L

•Jun 12, 2017

Pros: Excellent material, well controlled audio of the dictation, quizzes encouraged thoughtful reconsideration of the material.

Cons: Some lectures could be broken down more. I think this would help with attention, retention, and review. The biggest issue was with the programming assignments. The decision made for what to report as an answer to show you've done the work seems to lead to students spending most of the time on what I call "guess the implementation problems" rather than understanding and retaining the concepts. To give a concrete example, on PA#3 I came up with implementations of quicksort that not only properly sorted the array, but did so with less comparisons than the "right implementation" that led to the answer needed for the assignment. My intial implementation was based off of the CLRS book and my own logical understanding of the algorithm. Even after having rewritten based off the suggested pseudocode from the lecture video, there was a lot of room for ambiguity in the implementation. Trying to figure out what implementation I was supposed to have seemed like an endeavor for the sake of points instead of learning, and it took up ~95% of my time spent on the problem. I feel like assignments like this are tedious and discouraging to not only learning but thinking for yourself. Ideally, we would find a way to avoid this problem while still having a way to ensure people did the work.

By Sergey S

•Mar 26, 2019

I've taken some other courses but this one provides really complex quizzes/exams that encourage students to learn.

By Bharath K N

•Oct 16, 2018

Very fast paced videos, i had to reduce the speed to 0.75x to understand.

Most of the concepts (math) are omitted from lectures but still the jargon's like "lemma" /"corollary" / "induction"/ "contradiction" are used to confuse the user without much clarity on prerequisites for the course , so in order to understand this i had to resort to other books and come back to this video for understanding.

If you are math skills are meek or you need a refresher , i suggest to pick some basic math book on probability and learn some graph theory before joining this course, trust me you would save a lot of time.

I had to jump between the video and other books, the problems are very challenging.

If you are very good in math basics and already read Intro to Algo's by Cormen, there is no much need of this course.

By Abhilash R

•Sep 19, 2018

MORE OF THEORY LESS OF SOLVING

By Karan S

•Sep 14, 2018

Well researched. Topics covered well, with walkthrough for exam.le cases for each new introduced algorithm. Great experience, learned a lot of important algorithms and algorithmic thinking practices.

By Matthieu D

•Sep 13, 2018

Interesting and well structured course. The material is basic, but has enough depth to be challenging for someone who, like me, has minimal programming experience. The instructor explains the material very well and is engaging.

A big plus is that, unlike other similar courses, you can apply the material and answer the quizzes with any programming language you see fit.

By Aishwarya R

•Jun 21, 2019

Learnt about Merge Sort, Quick Sort, Randomization Algorithms, Selection, Graphs, Min-cut. Thank you Prof. Roughgarden :)

By andrew

•Jun 18, 2019

Very well done and presented material! In depth and gives you a deeper understanding of the material (if you pay close attention in lectures that is)!

By Dipen K

•Jun 17, 2019

Course was well planed. It would be more better if more graded programming assignments were included.

By Ganna S

•Jun 16, 2019

This is an enjoyable course. Love the lecturer! He's extremely charismatic with very good sense of humor, gives information clearly, explains everything well. And all the knowledge from the course are precious.

By MAHARSHI P

•Jun 14, 2019

such a good course which I had never learned from anywhere

By Ke " L

•Jun 09, 2019

I have learned a lot about important concepts about algorithms through this course, to name a few, divide and conquer (recursion), randomized algorithms, and introduction to graph. It took me about 15-20 hours a week to learn the knowledge thoroughly and converted them into codes.

By Krishna K

•Jun 04, 2019

I think the videos and teaching are great. However, this class is somewhat hard with the math and one can easily get stuck with some of the algorithm problems. This class really needs an ongoing monitor/mentor in the forums to help guide you through the class. Also, sometimes, even when you get the right answer for the quiz, it can be difficult to ascertain whether you actually understand the concept. I docked one star for the lack of ability to get help.

By Shafiun M

•Jun 04, 2019

I love this course. There is lots of material here.

By Sui X

•Jun 03, 2019

good course,learned a lot from it

By Aman C

•Jun 03, 2019

Very helpful

By Olkhovskiy I

•May 31, 2019

Easy to listen and very useful information.

By ROBERT P D

•May 27, 2019

Very thorough and informative!

By ahmed m g

•May 26, 2019

I feel like I have a deep understanding of algorithms already just by the end of the second week.

By GuangXue Z

•May 24, 2019

Very useful and have enough content for self-studying. I'm really enjoy to solve the assignment for every week. And every videos are food for thought. Thanks for this amazing course.

By TianJie S

•May 12, 2019

very tough and challenging course. The professor explains very detailed mathematics analysis underlying each algorithm

By Bharat K

•May 04, 2019

Nice course for learning Advance Algorithm

Coursera provides universal access to the world’s best education,
partnering with top universities and organizations to offer courses online.