IO
Jan 20, 2018
Pretty challenging course, but very good. Having a book is a must (at least it was for me), video lectures complement book nicely, and some topics are explained better in the Algorithms, 4th ed. book.
MS
Feb 27, 2021
Essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
By Maruf H
•Jan 2, 2019
I've completed both Part I and Part II. So my review belongs to two of the courses.
I took this course to gain a better understanding of data structures and algorithms and also to learn more about the Java language.
Best way to learn algorithms is through visualization. In this course, Professor Sedgewick slowly but steadily presents each algorithm and data structure with dynamic visualization. The animations really help to clarify exactly how the algorithms process the data and solve a problem.
Another important aspect is that this course discusses the implementation details of the algorithms by using Java programming language. They developed a java library where almost all the algorithms in a traditional algorithm text-book have been implemented. It's really satisfying to read such nice, concise and elegant code.
I started this course with an intermediate level of knowledge on Java. That's why it was pretty easy for me to keep pace with the implementation challenges. However, I learn and apply many java specific technique such as generics, iterator, object equality, immutability, testing etc. in-depth in this course. From my experience, I would recommend, to get the most out of the course, you should have a little bit of programming experience in Java.
In order to pass the course, you have to complete a programming assignment in each week. The assignments are well written, pretty much challenging and fun to solve. You will get the feelings to solve large-scale complex problems. They expect you to spend 3-5 hours for an assignment to pass (80%) each assignment. However, I lost track of how much time I spent to chase the benchmarks for 100% in each assignment. You will definitely have a challenging time to score 100%.
The evaluation system of the assignment is very sensitive. You have to maintain a prescribed API, otherwise, your solution will not be accepted. I wonder about their effort, how much time they spend to make such unit testing code. In some cases, I see that they wrote 1200-1500 lines of unit testing code to check our only 200-300 lines of solution, definitely praiseworthy!
Overall, this was a great course and it was a great opportunity for me to take such an enriched algorithm course. I highly recommend it to every serious programmer who wants to learn more about data structures, algorithms, and the Java language.
By Jack
•Oct 29, 2019
Great course, a little fast paced, and more advanced than the first. But you'll get high quality animations of the graph and string algorithms and fun assignments that will make you better at Java. Maybe the best explanation of radix sorting I've ever seen. The optional last week of the course introduces linear programming, reductions, and intractability which serve as motivational primers for further study. My only gripe is wanting more assignments, maybe one for each lecture, but 5 are likely enough for most people.
By Anil K
•Apr 17, 2019
Amazing course! Loved the theory and exercises! Just a note for others: Its part 1 had almost no dependency on book, but this part 2 has some dependency (e.g. chapter on Graph) on book as well.
By Hinanawi T
•Feb 8, 2020
The algorithms are more difficult than part I, nevertheless Sedgewick's vids are still easy to understand. The only drawback maybe chapter 3, max flow min cut part, which is not very clarified.
By Spyridon T D
•Oct 15, 2020
I've completed both Algorithms I and II, combined with reading the book "Algorithms" 4th Edition. Both great courses, highly recommended to any serious programmer out there.
Watch the lectures, study the book, do the programming assignments and the interview questions, but don't stop there. Implement the algorithms by yourself, test them, compare them with reference implementations in the booksite and improve them when possible. Feel proud of your achievements!
I strongly believe these two courses provide all the necessary knowledge the majority of progammers will ever need in their day to day work.
By Renat K
•Sep 26, 2018
An incredible course that covers a lot of vital algorithm on graphs and strings. I learned a lot of new material that I hadn't known before. Thank you very much for this amazing course!
By Mervyn K
•Mar 25, 2018
Excellent course that provides a good introduction to more advanced algorithms that build on those presented in part 1 of the course. Thank you Professor Sedgewick and Kevin Wayne.
By Qi Z
•Aug 19, 2018
This class is amazing. If you follow this course schedule strictly, and finish the homework and interview questions, you are gonna to learn a lot of algorithm thinking methods.
By Don S
•Jun 17, 2020
A great course, which keeps up the high quality teaching and programming-assignment quality as Part I. My only complaint is that the supporting exercises have still not been migrated into the new Coursera platform (as of 17 June 2020) and so the only real assessments are the programming-assignments (the programming-assignments are excellent but it would be great to have the preparatory exercises to tackle in order to work towards gaining mastery of the content). The lectures do have mini quizes, but these are not enough in my opinion. Also, I found the interview questions pretty much useless because you don't get any feedback on what appropriate answers would be. Nonetheless, I still give this Part II course (and Part I) a 5-star review because the content is of such a high quality (along with the book, which is excellent).
By Ajinkya V
•Aug 10, 2020
Pretty cool course. Looking forward to reviewing material whenever revision is required. The assignments were pretty good as well. Went smoother than Part I. The pictorial representations and the animations are great at what they're meant to do.
By Nguyen T T
•Jan 26, 2018
This course will strengthen and extend the base knowledge of algorithms which has been laid out by the Part 1. The resources on the website and the book are enough for much more than 6 week duration, if you are willing to self study all of them.
By Iurii O
•Jan 20, 2018
Pretty challenging course, but very good. Having a book is a must (at least it was for me), video lectures complement book nicely, and some topics are explained better in the Algorithms, 4th ed. book.
By Vishal M
•May 28, 2020
Content should be updated .
By Sajith N
•Aug 14, 2023
First of all I feel very honored to have partaken in this course from such a prestigious university and from leading minds such as Robert Sedgewick and company. Prior to this course, I have never had any experience with Java, but I did have some experience with other programming languages such as Matlab and Python.
To not beat around the bush, this course was very intense. It stretched my mind to new levels and opened up new avenues of thinking. At the end of the day, this course boils down to breaking a problem into smaller bits and solving each bit in the simplest and quickest way possible. This course is not about coding, it's about problem solving, but also doing it quickly and efficiently, otherwise why use a computer right?!
To those who are serious about learning algorithms I and II, do not give up until you get 100%. This is because sometimes going from 98% to 100% means that you fully grasp the idea behind the optimizations and best practices. Sometimes, I had to move from 98% to 82% in order to reach 100%, because optimization means that you need to re-design your code. Of course I had some help from the discussion forums a few times when my mind really hit a brick wall.
Finally thank you for providing this educational material for free, and promoting global scientific progress through sharing knowledge.
By Karpov A
•Jan 6, 2018
I want to thank those who created this course, esp. K.Wayne and R.Sedgewick for presenting this opportunity. Along with Part I it was my first online course on algorithms. Finished part I in 2014. And the Part II in 2016 and then attended it again in 2017. These courses has good programming assignment with very detailed evaluation which is really helpful and makes me find better solution. Problems and questions vary from easy to hard ones and let me progress steadily keeping my interest high. Java language was new to me and probably courses needs to add some other languages (C++, Python, C#). The course has great support materials at the site and in the book. It is detailed and goes along with lectures. I would recommend this course to other.
By Riccardo
•Feb 26, 2020
Course is demanding, awesome and inspiring. It covers a breath of topics in depth and detail. Even if I have an Ms in Computer Engineering I feel it filled some gaps I had, served as a great refreshment, and also helped me improve my understanding of computer science, and overall made me a better programmer and algorist. Pity some of the exercises "haven't been migrated by coursera" and are till missing (after few years), and I couldn't (yet) get answers about a couple of clarifications I asked in the forum, but still all round top level class. THANK YOU to the Authors and Coursera for sharing it (in this case, even for free!)
By Vikram W
•May 21, 2021
What an amazing journey. I am lucky to have such amazing teachers and wonderful content. The assignments are really tough for me. It took me a lot of time and patience to figure it out, but eventually I did. This course is my go to place for any technical interview preparation and the the book website is the best place for revision. I learned a lot by solving the quiz questions and helped me understand the design of algorithms. The overall content is tough but it is totally worthy of your time, when you want to upskill your algorithms knowledge. Thank you Prof. Robert Sedgewick
and Prof. Kevin Wayne. You guys are just amazing.
By Timothy O
•Oct 26, 2023
The projects in this course surprised me as being closely related to the applications I wanted to use programming for. This means that not only were the most important algorithms and data structures thoroughly explored, but the projects were chosen to be excellent building blocks for real applications. Moreover, the projects build onto each other amazingly. Things learned in earlier projects reappear in subsequent projects in new and modified ways, so that, with repeated exposure and modified applications, you gain a deeper understanding.
By Ahmad A
•Mar 12, 2018
One of the best courses out there. The lectures are very concise and precise. They demand your full attention but reward you with a deep understanding. The homework exercises are very enjoyable with a great mix between implementing your own algorithms and carefully selecting appropriate algorithms and using them correctly to yield the correct solution with the optimal performance characteristics. By the end of the course, you will have a great understanding and appreciation for the most important algorithms in computer science.
By shant C
•Jun 14, 2019
So finally I got a chance to finish this course. And no surprise the experience was very fulfilling and awesome. The explanation by Dr. Robert and the assignment designed for each week are of very high quality. As usual the assignments have practical applications. The available libraries will save you time from implementing the basic API and focus at algorithm level and reinforce the learning. I would like to thank Dr. Robert, Dr. Kevin, and the mentors for creating this awesome course. I would highly recommend this course.
By gil f
•Jan 29, 2018
This is a brilliant course in which the authors have put a lot of effort to explain algorithms in a very understandable way. For me - a regular coder with no academic background - it is the best algorithm course to date due to the precise and detailed way of presenting concepts (I have already completed 5 of them). Apart from that the assignments were really excellent and the autograder feedback has pointed me to certain weaknesses in my coding practices. No complaints, just lots of praise for this brilliant course.
By Gautam S
•Jan 7, 2018
This is a very well crafted and information packed course. The videos are composed with just the right mix of technicalities and anecdotes to make the viewer engaged. Best part of it though are the exercises at the end of weeks.They are picked in a manner that they're not just that week's topics but more of a cumulative knowledge you'd have acquired through out the previous weeks.
Thanks Robert Sedgewick, Kevin Wayne, Coursera for putting it out there. Highly recommended.
By Tasswin M
•May 18, 2020
The textbook is not required to complete this course, but it will help. I completed it without referring the textbook. As for the course content, the basics of graph theory and string analysis is covered very well. Definitely recommended if you are starting your study of algorithms. The assignments are very challenging and will require considerable time if you are new to Java and OOP's. But if you complete them, it gives a lot of satisfaction.
By Mohit S
•Feb 28, 2021
Essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations.
By Geng X
•Jan 6, 2019
Contents is good, but the lecturer's sounds is not clear and low voices.