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
par Steve J•
Sep 20, 2018
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•
Nov 25, 2017
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 Alexander L•
Nov 11, 2019
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 francisco i•
Dec 24, 2016
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!
par 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.
par Benoit P•
Dec 29, 2016
This is a great course. The teacher is very clear, and the material is very interesting. The programming assignments are interesting: the problems asked are very simple, but the input is generally too large to use brute force: you really have to implement the algorithms presented in the videos. This makes you realize how much smart algorithms can make a difference.
The level of the class is relatively high, compared to other Coursera courses I've taken. If you want some serious training on algorithms, look no further.
par Jason H•
Jul 29, 2018
This is the place to start upgrading your programming skills to the next level. If you have some prior programming experience solving problems with data, but have never rigorously looked at the efficiency of your algorithm and wondered "Can this be better?" this course is designed for you. You'll learn to think and talk like a software engineer and not just a computer programmer. The course has some very practical problems to solve, which will give you a sense of empowerment to tackle big data sets with ease.
par Charlie Z•
Jan 28, 2018
Roughgarden creates a great mental model for algorithms. He explains the ideas that connect them and how they are organized. He doesn't waste your time, hitting the key components in both the math proofs and in explaining the algorithm implementation. The way he teaches in like induction; he uses a super simple example (base case) and abstracts that out to get the general case.
After the course, I *get* algorithms now... (instead of memorizing them, I can see how to deduce them). Thank you!
par 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
par Hrishikesh A•
Dec 14, 2016
Tim gives great insights and draws attention to the right things at right time! Exercise and quizzes are very helpful and makes you think in right direction. Also the in-video-quizzes are well thought of to make you think about the topic being described in the video and thus makes it easy to understand the contents. This is just the right course anyone should take to improve/learn algorithm and data structures course. I've got got aaha! moments multiple times. Can't thank Tim enough!!
par Berk B•
Apr 27, 2017
I had a great time taking this course. It was a very good course in algorithms that explained the core concepts really well rather than just providing a high level overview. The assignments take some time but it aligns with what the instructor is teaching. The instructor is absolutely excellent because he takes the time to go through the math and iterations which helps to develop a deeper intuition for these algorithms. Looking forward to completing his other courses when I got time.
par Manuel V•
Aug 08, 2019
This course immersed me in the fundamentals of one of the most interesting and useful problem solving methods in computer science.
Each problem assignment is so carefully thought out, that it forced me to apply what I learned and constantly ask myself "could I do better?"
Very well combined with historical reviews and mentions of the "protagonist of the week", which enriches the learning and made me get closer to the way of thinking of those who pushed our beloved computer science.
par Yohan S•
Jan 04, 2018
This was perfect introductory class for me to begin my learning on algorithm. As the instructor said at the introduction, many of the algorithms were fun and challenging and the explanation of the instructor was great. Although the fact which the Programming Assignments do not check the actual code but the final output was the only downside of this class, everything else is great for checking one's understanding of the course.
par Sophie Z•
Jun 26, 2017
This course not only taught me some basic concepts of algorithm but also taught me how to analyse the underneath disciplines as well as how to manipulate them. The analysis using probability seems complicated at first, however, the instructor managed to illustrate it in an easy way. I especially love the assignments, they are very enlightening. The test cases in the forum is also of great help in my debugging process.
par Ethan h•
Dec 12, 2017
I would probably still be fascinated by algorithms without the enthusiasm of these lectures, but it certainly helps. The discussion forums don't seem to be too busy these days, but enough people have taken this course over the years that I'm sure any stumbling blocks along the way have already been navigated somewhere in the archives. Anyone who enjoys puzzle-solving and analysis should appreciate this course.
par Ellen Y•
May 06, 2017
The instructor speaks very clearly and describes everything in a good amount of detail. There were quizzes throughout lectures that keep you engaged and test your understanding, and I liked that I could use the problem sets as a way to practice since there's no penalty for multiple tries. I really enjoyed the course and would highly recommend it to anyone looking for a solid understanding of algorithms.
par Jonathon P•
Oct 09, 2018
I am a professional software engineer and I've made it through week 3 of this course so far. The lectures are well done, easy to follow, and it feels like a 1-on-1 tutoring session with one of the world's top professors.
I already feel like I have grown as an engineer after implementing merge sort to find array inversions (among other exercises and assignments). I can't wait to see what's next!
par Ashish D S•
Aug 01, 2018
Excellent course on Algorithms. I have done few UCSD algorithm courses before (I equally liked them as well), this course is more focused on Mathematical part. Programming assignments are probably simpler as compared to UCSD course but quiz are hard and requires considerable knowledge of probability and combinatorics. Better to do this course after some basic course on discrete mathematics.
par Matt R C•
Nov 09, 2017
Absolutely not what I expected. The instructor is excellent, you can tell his passion about what he is teaching and he presents it great. That being said, this course is way more difficult than what I expected, so be prepared to put in some time and effort to get the most out of it. The material definitely stuck, I'll never look at algorithms the same way again, that's for sure1
par Sam S•
Mar 28, 2020
A very thorough and rigorous beginning to algorithms. Professor Roughgarden does an excellent job walking through everything in a clear and succinct fashion. There isn't too much programming needed, but it can be tricky if you aren't familiar with how to operate on various data types. A good understanding of high school math (algebra in particular) will help you in this course.
Jun 11, 2017
These lectures are incredibly mind-blowing, full of insights for algorithm designs and valuable suggestions. This course is really a great enjoyment to follow, because the lectures & quiz & programming assignments are so well arranged! Wish I had took this lectures earlier. Thank you very much Prof Tim Roughgardern for providing the world with such an excellence on-line course!
par kumar d•
Apr 21, 2018
This is the best thing to happen for learning algorithms (close second would be the book by steven skiena). This course took me 13 years back to my college 2nd year when I fell in love with algorithms. This is like living your first love all over again. Thank you professor Roughgarden, and I hope you create another course with advanced algorithms with latest developments.
par Stefan T I•
Dec 25, 2016
This course offers one of the best introductions to reasoning about algorithms in a mathematical way. However, it is not just theory, it also gives you practical advise and forces you to polish up your programming skills as well by implementing some of the most useful and popular algorithms for sorting and similar applications in whatever language you wish.
par Md A R•
Apr 08, 2018
The course is awesome. But the video quality could be improved specially those with echos. It would help concentrating. I have completed algorithm as a undergraduate course and this course is to revisit those area where I had some minor weakness. And this course really helped me building an strong understanding on those points. Overall experience is good.
par Stefanos L•
Oct 31, 2017
Very well structured. The lecturer/resources/customizable speed etc are excelllent. I only found the programming assignments too difficult (especially the 4th one) and I had to revert (more than I wanted) to internet sources to do them (or it, especially the 4th one). In contrast, the quizzes were too easy. Perhaps personal taste. Excellent work overall.