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

4.8

2,896 ratings

•

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

Mar 16, 2017

Very good course in algorithms. I bought the book to help me understand but the lectures make it way easier and thus much more fun to understand the analysis. Looking forward to complete the spec

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 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 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 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 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 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 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 Abhilash R

•Sep 19, 2018

MORE OF THEORY LESS OF SOLVING

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 Edgar R H P

•Nov 26, 2018

El curso es realmente agradable y permite obtener conocimientos para la optimización de algoritmos, altamente recomendado para aquellos que ya tienen una base ya formada. Parecería apropiado adaptar un curso similar para profesionales capacitados en otras carreras pero con interés en los algoritmos.

By Abhinaya N

•Dec 13, 2018

Pretty amazing course. The book "Algorithms Illuminated" by Dr. Tim Roughgarden makes you greedy to learn more about algorithms. Some of the analogies he presented to explain the concepts were hilarious and makes it a fun read.

By 习炎喆

•Dec 14, 2018

Really helpful as a start of algorithm learning. And it is good to require only one kind of language.

By Zhang Y

•Nov 28, 2018

Great course!!!! Clear and logical!

By Arthur O

•Nov 28, 2018

Fantastic Course!!! I enjoyed it so much!!!!

By Ehsan F

•Dec 04, 2018

This course was a real one. The only feeling I had afterwards was that I wish I could meet him in person. He is just awesome.

By Zilu T

•Dec 28, 2018

Excellent course, a very good overview of fundamental concepts.

By Mohamad S D

•Jan 12, 2019

I was always looking for a good material to study this complicated topic , and after a lot of purchases and digging , I finally found this course , these sequence of courses will not give you every detail about every algorithm in the universe but it will give you the knowledge that will enable you to walk alone in the street of algorithms . Really great course , I'm still in course no 2 of the 4 courses but i'm very happy of what i've seen so far and looking forward to finish them all isA

By Genyu Z

•Jan 12, 2019

This course helps me a lot. The teacher is very good. I'll learn his next course right away. I believe I can improve my knowledge here.

By Dhruva M

•Jan 14, 2019

great course for begineers

By Jakob S

•Jan 02, 2019

Great Course, highly recommended. Tim is doing really good explanations of everything, even if this math and programming was a bit much for me i got through the course.

By Pavlos C

•Jan 03, 2019

Nice approach by Tim. First explains the problem, then the need to the math pops up and then the math naturally arise. Thus no need to memorize any formula, but should be able to derive anything just by logic.

By Haochuan W

•Jan 24, 2019

Best online course I've taken. You can possibly cross out the "online" too.

By Mohini A

•Feb 19, 2019

excellent

By Frank J M

•Feb 25, 2019

lectures were great. Pace was just right. It is great being able to repeat parts of the lecture to improve your understanding. I only wish the Part 1: Basics books covered the week on graphs and the contraction algorithm. The Algorithms Illustrated book was a great companion for the course. Not having a book companion made the graphs and contraction algorithm material a little more difficult.

I like the the lectures are not copies of the book. The flow of topics match, but the explanations in lecture are often different.

By satyo i

•Mar 21, 2019

Great content and clarification + challenging task

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