This is a great class. I learned / re-learned a ton. The assignments were challenge and left a definite feel of accomplishment. The programming environment and automated grading system were excellent.
Incredible learning experience. Every programmer in industry should take this course if only to dispel the idea that with the advent of cloud computing exponential algorithms can still ruin your day!
by Rajdeep D•
by Fizuli V•
Exceptionally good course with brilliantly designed weekly coursework. The automatic system that checks problem solutions is very detailed and provides feedback on time, space complexity and general bad practices. I would highly recommend to try at least one coursework, submit a solution and check feedback.
Questions could be quite challenging depending on the week (the first week was one of the most difficult) but it is worth solving.
by Manuel P•
A great introduction to fundamental algorithms. This course is very well thought-out, the instructor always makes his points very clearly an convincingly: more than just algorithms, this course transmits a way of thinking about them. The material is very well polished, you can feel the instructor has been teaching this topic for so many years. In addition to all of this, the programming assignments' topic are generally quite exciting.
by José F L D•
This is an exceptional course. The assignments are master pieces. The autograder is in itself an amazing programming work designed to challenge every one who dares to do the assignments. I can't imagine the amount of work put into those autograder programs. Personally, I was always impressed on how metiuculously the autograder was. I put a lot more hours to complete the course than the suggested 54. But, it was really worth it.
by Brian C•
This course gives a very good overview of algorithms, justifying each new data structure or technique by examining the performance and technical problems that it is trying to solve, and explaining the meaning of the approach. It is a good idea to do a good bit of coding on your own, however, as the Assignments typically expect you to USE the data structures explained in the lectures from a static library rather than hand-coded.
by Visual J•
I've not merely learnt lots of practical methods to solve the specific algorithm problems within this course, moreover, I've been able to manage to cope with other else algorithm problems, cuz, this course has taught me the through and thinking of using algorithm to solve a problem, including to understand an algorithm, and use it, and eventually get a solution to any specific problem.
Thanks to Professor Robert Sedgewicks
Recommend print the ppt then listen to the lecture cuz that would save your time. These homework impresses me deeply, and I did spend a lot of time completing them. Fortunately, I got a not-bad accomplishment at this class. I think everyone would like to have a solid foundation on algorithm as long as s/he study hard in this class. Thanks a lot for providing such a great open class! I love you professors! I love princeton!
by Rohit P•
I took this course to refresh my Data Structures and Algorithms knowledge in order to prepare for technical interviews, and I'm glad I did. The lectures are great and the programming assignments are very well designed and have sufficient guidance. You really have to work on them. I would have liked more graded MCQs after lectures. This is also the first MOOC I've completed, and it gives me a great sense of accomplishment!
by Mark S•
The lectures from Prof Sedgewick, topical coverage, and weekly assignments were great. The (optional) textbook is excellent as well, it's at just the right level of rigor/difficulty for this course.
Although I will admit getting a bit frustrated with the autograder at times; I invariably ran into additional rules (not in the original doc) by having my first couple submissions go down in flames, often @0/100 or 5/100.
by Vadim P•
Very interesting, I finally started to study seriously and learnt a lot, by using the correct Data Structures (and also learning them), learning sorts, I enjoyed a lot, and found very interesting exercises, I learnt the definition of Binary Heap, how better implement the Priority Queue Data Structure, Binary trees, and very fascinating the way Red Black Tree is implemented, and the technique used to maintain it balanced
The grading system is very helpful for debugging
A little suggestion, personally i would not go to the forum unless i meet problems, but actually i find i may missed some great thinking for ignoring it. It would be better if there is a subscription feature like what's trending on the Forum to reminder learners to participate in the discussion.
And i like the every week's interview question, thank you for all your effort!
by Itsik S•
A very interesting course, very well taught. The course is carried out in a very methodological way, builds the knowledge gradually step by step. The course is suitable both for those who know the material and want to refresh their knowledge and for those who learn this for the first time.
Finally, I would like to say that it was a privilege as much as it was enjoyable to learn from the great Prof. Robert Sedgewick !
by seshu c•
One of the best course, I have taken so far. Learned a lot and its good to learn from computer scientists who can explain the trade offs between different data structures. To be frank, i am a newbie and i don't even have a good understanding of data structures when i started this course. But now, i know how the data structures work and how to use them them effectively.Except that the assignments are a bit tuff!!
by Henrique G•
I really enjoyed this course. The material and videos were carefully made and very informative. The assignments were made that you can properly use the content learned from the lessons. The mentor/instructors are very knowledgeable. It goes without saying the instructors are reference in the Algorithms field.
It is worth saying the assignments may require you to research extra resources, e.g. Algorithms 4th book.
by Luoqi W•
This course is extremely well-organized and covers the foundational algorithmic concepts in a meticulous fashion. Dr. Sedgewick makes these concepts accessible and easy to grasp. The fact that every concept covered is not just discussed on paper but realized in Java code also adds invaluable practical significance. Needless to say, this should be the course that every aspiring computer scientist should take.
by Mohamed E•
A good introduction and review of fundamental concepts in algorithms and data structures. It makes sure that you get the hang of the data structures by making you implement these data structures/use variants of these data structures to solve implement specific applications in assignments. Of course, sometimes details arent explained deeply, but I quite enjoyed the course and would definitely recommend it.
by Teng B•
The Most Remarkable Course I have met in Coursera. This course not only taught Algorithm & Data Structure but also fundamental things about Java Language. The instructor is well prepared and states concepts very clear with plenty of examples to help us understand. The assignments with well designed grader are a huge plus to this course. I rate this course as 5-star for this is the highest rate I can give.
by Manish J•
Many thanks to Prof. Sedgewick and Mr. Wayne for this great work for education. This course and this book, the material is just awesome. It really appreciate this work sir ! This course has helped me a lot. The resources your book site has is like a complete teacher for me. The assignments in this course are challenging and improve the skillset a lot!
Finally a load of thanks for such a wonderful course !
by Erik Z•
This was actually a very nice course. I found professor Sedgewick to be a very engaging lecturer, and his patient explanations along with excellent lecture notes helped me, more than a single book could have done, to thoroughly understand all algorithms that were discussed in this course. The assignments were sometimes challenging, but they were always doable. I cannot recommend this course highly enough.
by Haotian Z•
Very solid course. Well explained and informative content and straightforward algorithm illustrations. It not only explains and analyzes mechanism of algorithms, but also offers a set of very practical Java implementations. The weekly programming assignment is awesome. They are well-designed and closely related to real-world application. This is a extraordinary course and I enthusiastically recommend it.
by Anthony T•
I really enjoyed the programming assignments! I think it was cool that all of them had some sort of visualization component. It helped when debugging code. The lectures were solid as well. It's been a few years since I took my Algorithms course and this was a great refresher on some of the stuff that I missed. I also got to learn about topics that were not covered in my Algorithms class (e.g. Kd Trees).
by Christian F•
The course gave me excellent insights and it helped me to improve my java skills.
The overall presentation (learning material, videos, assignment) is very professionial and good to understand.
It would be nice to allow a look at how other students solved the assignments. Maybe with an anonymized grading. Or some kind of a master solution to see, how the best solution to an assignnment would look like.
Really awesome course with informative lectures by Prof. Sedgewick. The best part, though are the exercises. The problem sets are really well designed and give you a sense of how CS can be applied in all sorts of domains from geometry to networks. Separately, the optional interview questions are also good. As always, its probably best to work through these problems with someone else to learn best.
As a developer without adequate CS educational background, it's very exciting and of great use to take this course. I've got the "Algorithm in C (Parts 1-4)" by Sedgewick and did some learning, but it's necessary for me to follow details and explanations from slides and video talks. Also the testing of coding assignment has covered several aspects which I have not paid attention in my daily work.
by Access D•
I like that you have to think in this coarse, but it could be impossible to finish for beginners. Fortunately I have a Master degree in CS and took this coarse to fill gaps in my education. And indeed there were. I've learned old school Red Black Trees and this coarse approach is much nicer. The main reason I don't like Java is an ugly cast. How come they designed Java so badly. Shame on them.