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.
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
Amazing course. I learned a lot about algorithms, the implementation of algorithms, time complexity. I also learned a lot about being systematic and purposeful about including any line of code.
par Nikolaos E•
Personally, I would recommend this course to anyone who really wants to learn how things work in that sort of algorithms. I found the assignments a little difficult, but also extremely helpful.
par Ferdinando I•
I think the course is really good. Enough mathematics to make things more rigorous, but not too much that it is hard to follow (for a MOOC). The questions make you think about the material.
par Akshath M•
Made notes, watched optional videos, re-watched the content till I understood and aced the tests! :)
It's fairly challenging but also do-able if you put your mind to it
Should really work hard to pass... But anyway, I appreciate the changes that the teacher brings to me. Really really a nice lesson the join!
par Deeksha S•
Little bit tough but if you learn this honestly then you will gain much knowledge.
par Shikhir G•
Brilliant course with proper explanations. Totally worth your time.
par Sankalp D•
very truthful and everything thoroughly explained
par Jakub K•
Very hard. Unique knowledge and skills.
par Vaibhav K•
bets for analyzing the algorithm
par Parsa N•
Interesting course and huge amount of knowledge
par Anguzu V J•
i loved it so much
par Cole C•
For someone not coming from a math background, this course was really difficult. I'm already a software engineer but wanted to bolster my CS background, but there is almost no real-world application or real-world knowledge in this course. It's almost 80% pointless mathematical proofs. Instead of learning when to apply a certain type of algorithm tool, you have some professor using big words and doing math proofs the whole time. Huge waste of time in my opinion as almost none of that stuff is used in real software engineering.
par Farrukh M•
Very basic. Only good for people without CS degree.
par Wang Q•
I regret for the time I spent on this course and luckily I cancelled the subscription. I had high expectation on the Coursera courses offered by Stanford after I took the machine learning one a couple years ago. This Algorithms course's quality is significantly lower than the machine learning one, though both being rated almost 5.
 A lot of contents are not intelligible. I had to heavily rely on Google to find better explanations. It was not that the topics were that difficult to understand: the way this course explains things jumps too much and sometimes it significantly lack details for me to follow.
 The instructor needs to slow down and speak more clearly. The monotone makes people fall asleep. Sometimes I had to read the scripts to understand him, which never happened in any other Coursera course I took. The handwriting is hard to read and the course slides are not helpful.
par Ivan Y J•
As an auditing student it is extremely difficult to access course content ahead of time. I have finished my week 1 contents but cannot go forward to week 2.
par abusaleh i•
Just mere waste of time and money. Only suitable for Stanford student
par Nadim H•
Challenging and highly informative course. Professor Roughgarden has a concise and candid lecturing style that I found easy and pleasant to follow.
Make sure you're comfortable with one programming language, and have some experience in writing programs. There is a lot of math, and while not super advanced, make sure you've brushed up on: logarithmic identities, infinite sums, and counting (permutations and combinations). The course dives into some probability, but Professor Roughgarden will walk you through some optional (and very instructive) review lectures.
I'm looking to finishing the specialization, but I'll take some time off to review my discrete mathematics, and strengthen my programming first. This is my first MOOCS course, and I'm hoping all my future experiences will be as great. I highly recommend the course and Professor Roughgarden's lectures.
par zeinab s•
I audited this course and I believe this course is going to help me build my future career. I'm in transition between my original degree (engineering) to computer science, and I want to build a great foundation of my knowledge. For me, with little computer knowledge, this course was great. The syllabus is complete and covers essential material. The instructor explains everything clearly. although he talks a bit fast for me (I'm not native but I'm studying in an english language school).
It is a good combination of the algorithms and the math behind them. not too much math. The homework at the end of each week is also helpful to practice what you learned in videos. (Although I couldn't see the answers)
in Overall, it's a great course, and I recommend it to anyone with a passion for computer science.
par Steve J•
I found this course to be an ideal mix of abstract theory and practical application. Professor Roughgarden is quite adept at presenting in depth analyses of algorithms in a way that does not shy away from formal mathematics but also does not require a degree in mathematics to understand. For me, whose prior math coursework was mainly focused on areas of math not as prevalent in computer science as other in disciplines (e.g. calculus vs. discrete math), Professor Roughgarden's approach is ideal and opened up the door to a much deeper understanding of algorithms than I've acquired on my own over a multi-decade career in programming.
Highly recommend this course for anyone who, like me, has a lot of experience with programming, but no formal training on algorithms.
par Cliff C•
Loved the clarity and enthusiasm. The proofs and algorithm implementations shared in this class are often simpler and more elegant than the proofs and implementations I've found in other textbooks.
Just a few examples: 1. The proof of Quicksort's expected comparisons count was great. The course used a beautiful, simple proof summing the values of indicator variables whereas other proofs I've seen use a messy inductive approach. 2. The implementation of partition was much simpler than most other partition implementations I've seen, which tend to walk from the left and right swapping items.
The simplicity of the proofs and algorithm implementations make the material more beautiful. Thank you!
par Kalema A B•
This was my first time diving into algorithms, it was indeed challenging as my math skills had been long kept in the dark since my Computer Eng. Diploma, it sent me doing research that in turn expanded my understanding of the concepts, I almost felt frustrated especially with the analysis videos, probability concepts were a challenge and I intend to take a detailed math refresher course as I continue with the remaining courses, hopefully after this I will keep my math alive for life. Thanks for the challenge in this course, it kept me pacing and it was indeed worth it, i hope to research other algorithm in sorting and other concepts discussed here, Thanks.
par Alexander L•
Very interesting. I learned a lot of new things. 5 stars!
Just a few things that could be improved:
-- The video and its audio are not really synchronized (maybe because the video is pretty old)
-- The Quicksort programming assignment was like: 1 hour to program a working Quicksort + 4 hours figuring out how the course creator wants me to count the compares of it as that's dependent from the implementation.
Nowadays there are better solutions to validate whether someone solved a programming task. geeksforgeeks.org and hackerrank.com for example just execute the program with test input.
But all in all: Very positive experience.
par Angel M P•
The Course is very challenging and also very rewarding! The professor motivate you showing real applications about the algorithms he talk about. This course review the math analysis of the algorithms and also require that you implement some of these algorithms. The course required me dedicate many hours during week (some weeks more than 15 hours) but each programming assignment done is very rewarding and I could learn better some of these topics which I took last semester at my university. Thanks professor Tim Roughgarden!! and thanks to all the team behind this course!
par francisco i•
Excellent course. What I valued most about this course was the clarity with which proofs and algorithms are explained. In learning algorithms one really profits from a great professor. Keep in mind that this course involves mathematics for proofs and I believe one has to be really curious about algorithms and dive into proofs to take full advantage of this course. Regarding assignments they are challenging but definitely approachable if you have some experience in programming. My advice: do not get discouraged, this is all about resilience!