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

Learner Reviews & Feedback for Divide and Conquer, Sorting and Searching, and Randomized Algorithms by Stanford University

4.8
stars
5,185 ratings

About the Course

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)....

Top reviews

KS

Sep 13, 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.

DT

May 26, 2020

Thank you for teaching me this course. I learned a lot of new things, including Divide-and-Conquer, MergeSort, QuickSort, and Randomization Algorithms, along with proof for their asymptotic runtime

Filter by:

826 - 850 of 988 Reviews for Divide and Conquer, Sorting and Searching, and Randomized Algorithms

By Ahmed A (

•

Jul 25, 2022

Definitley not an introductory course, if you don't have a strong mathematical background, and a strong ability to convert high-level ideas to concrete code, then this course is definitley not for you. This being said, the course was very fun, challenging, I have learned a lot about algorithms in general and about randomized algorithms in particular.

The randomized algorithms required some extra work on my part to understand the probability required to grasp the proofs and the analysis, but the review provided was good to some extent.

ON THE INSTRUCTOR: Professor Tim Roughgarden focuses on very high-level ideas, gives excellent motivation for each topic, which pushes you as a student to learn more. That being said, I did not like the audio quality in some videos.

Again, don't enroll unless you have a good grasp of the prequsites, otherwise it would be painful to stop every now and then to learn some math then come back to the course.

By Tahmid C

•

Apr 1, 2021

Overall a decent course. The mathematical proofs can be rigorous at times. The programming assignments can be challenging because the instructor tries not to hold your hand through the process. My main issue with the course is the structure. Sometimes topics don't seem to be in a logical order for the best learning experience. Also, the course really expects you to understand lists and reading from text files in order to complete week 4's programming assignment. What should have taken maybe an hour, took me almost 3-4 hours. In my opinion, the Princeton Algorithms course is better. It is structured better and it can be clearly seen that more time was taken to design the course. Their auto-grader is phenomenal. I would recommend it over this course.

By SERGEJS I

•

Aug 31, 2019

I think the course is nice, I have finally understood what the divide and conquer algos are. I like the algo's non-mathematical analysis.

However, I think that the course was overfilled with the complex math which explained significantly worse than actual algos. I like math a lot (my favourite subject), but then the course description should tell about that course contains advanced math, because it is not suitable for everyone.

I also think that a technical task on a quick sort was confusing, it was very difficult to provide a correct answer though the task was simple. I did not like the technical task for the min cut problem. This algorithm available everywhere online, and you must use the pseudo code to implement it (I have not learnt much).

By Chao G

•

Dec 27, 2016

I would recommend this course to anyone who has some experience with coding, but has not taken an algorithm course. I particularly like this course because it is more "math-heavy" than some of the other courses. After taking this course, you might not be able to solve all Leetcode problems (so probably will not help with your interviews directly), but from an intellectual point of view, I think the instructor does a good job explaining why people care about algorithms and how to analyze a class of algorithms rigorously.

By Fanghu D

•

Nov 25, 2016

The unique value of taking the course: read and think through the material with guidance and completing its assignments is the efficiency by saving all the search cost would I collect on my own the good and succinct presentation of the knowledge and exercises with solutions (at least correctness checks.) The entire detail of an algorithm is hard to keep afresh in memory and one needs to refresh it from time to time. It is very cost-effective to take a course like this to accelerate the refresh.

By Neeladree C

•

Jun 27, 2017

Thanks a lot sir ! Learnt a lot of new things in this course. Although, I was a little familiar with the course materials beforehand, there were some mathematical nuances that I was unaware of and now I am ! Your way of explaining things, I guess, is what keeps people glued to the course. Also, the assignments are pretty good. However, I do wish the Final Exam to be a little more difficult. Currently as it is, most of it is merely a revision of past assignments. Thanks !

By Krishna K

•

Jun 4, 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 Xixuan W

•

Jun 30, 2019

Generally, this course is great, and it focuses on some core theories of algorithms in Computer Science.

Personally, I think the tricky part is the analysis of the algorithms which requires some advanced math knowledge and a lot of patience.

To be honest, though I have finished this course, there's still a must for me to review the whole course later. Also, I need to implement all the algorithms again in both java and python I guess :)

By Linan

•

Sep 1, 2018

Good subject to take, however, the rhythm in my opinion is quite fast, and less practical example was given to connect with our real life, the teacher is nice, except for too fluently speaking LOL, I am not a native English speaker, thus I have to reduce the speed of the video, but then, I stepped into sleepy soon, even X 0.75 speed is crazy hypnosis technique. LOL, anyway, those just my own thinking and thanks to the teacher.

By Rodney N d S

•

May 11, 2020

This course is very good! Every week your are given a programming assignment in wich you have to code some classical algorithms in the language of your preference. Some exercises are difficult to do, but search for help on the forum. The only bad point is that the teacher talks too fast,a lot of time I had too look for better explanations. It's difficul to follow Tim's rithm.

By Dolly Y

•

Aug 27, 2017

The discussion forum is basically dead.If you ask a question, you will probably get an answer in two months.The programming assignment is not as well-designed and challenging as the Rice and Princeton algorithm specialization. There is no autograder. You just need to enter the output of the programming assignment. Nevertheless, it takes a thorough and rigorous approach.

By Wan H L

•

Oct 1, 2017

The instructor offers me a very clear explanation on different algorithm designs. The assignments are also thought-provoking and is able to stimulate your brain.

One thing for improvement is the sufficiency of algorithm exercise. It seems the algorithm exercise the course offers is not enough for those who would like to pursue higher challenge in algorithm puzzles.

By Daniel Z

•

Feb 18, 2019

Good introductory course: allows to relatively quickly go through the topic without getting stuck in too much detail; hands on assignments are nice and useful. The slides I feel could be further improved to (i) aid rapid understanding, (ii) be more helpful in problem solving and (iii) have a few more maps back to the bigger picture.

By Rishi B

•

Jun 6, 2018

This was a good course, but it is not for people who want to get work done using algorithms. It is pretty math heavy and requires ample amount of dedication and understanding. Some high standard videos like the ones on Graph Theory was not very well explained, I had to see some youtube videos to get a nice understanding about them.

By Chris S

•

Mar 7, 2018

I thought the course was well instructed, Tim is a good professor and doesn't give up too many of the answers. I found the probability section needing more review as I didn't come into the course with a statistics background, and I felt that hurt my full comprehension of the material. Other than that, awesome course.

By Weiming H

•

May 23, 2018

I really like this course and think that the course is very helpful for me as a non-cs major student to learn more about algorithms.

However, I found it hard to find answers to the quiz and the questions. I tried in the forum but in vain. Might be an improvement of the Coursera system and organization?

By Aniruddha S

•

Jul 6, 2020

Excellent course for students to study why and how the popular algorithms work. The course was very much focused on the math behind the algorithms and I felt it could have been better if the course focussed more on real time applications using the algorithms and their implementations with pseudocode.

By Sandesh K A

•

Nov 16, 2018

Perfect start for a NOOB, all algorithms are explained in a detailed way. Only draw back i felt which can be addressed in further version is to include few programmatic assignments, so that developers can relate how the algorithm is translated from mathematical equation to running code.

By John Z

•

Nov 13, 2017

Sincerely speaking, the lecture is too coarse. It will be more help, if there are more details in lecture. But not only in videos. It is quite waste of time by watching videos one by one. However, by finish this course, I have regained basic algorithm knowledge learned in college.

By Krish R

•

Mar 23, 2018

I took this course to understand more the approach of problem solving and less the mathematical analysis. To understand why the things the way they are , Its sufficient to understand conceptual analysis, rather than mathematical analysis , at least for me.

By Ruocheng S

•

Sep 13, 2022

The course provides a brief introduction to divide and conquer algorithm. The professor proved the theorems by hand, which makes the course precise and rigorous. The only defect is that there's few lecture about how to implement the algorithms by code.

By Kelvin

•

Oct 28, 2017

The course is awesome and explained in details of every topic. However, watching the videos alone is not enough and in my opinion, read the book that the course recommended or look on the internet for relevant reference to support your learning.

By Eldiiar D

•

Nov 16, 2020

It would be great to see some implementation with some coding language, not only pseudocode. But overall, it is a great course, I have learned so much! and of course, I started to think differently (dividing every problem into subproblems)!

By Sean S

•

Jul 22, 2017

A little too much math than what was anticipated, I would have preferred more of why did the CS choose a divide and conquer approach than proofs. The professor talks faster than I can take notes, it's great that we can stop and rewind.

By Nicolai V

•

Aug 21, 2022

Generally, a good course. It has a good explanation of merge sort and quicksort algorithms, and also very good explanation of the master theorem - probably the best I have encountered.

The only con is the ugly hand writing from slides.