BE WARNED...not for the faint of heart.
I graduated top 10% of my class for both BS and MS in EE from the University of Florida, and led a startup to a successful acquisition.(Although I have limited programming experience)
I have done hard things, and this course is TOUGH.You will be challenged, and you will learn.
This course is really a high-level overview/summary, and requires lots of self-resourced learning.It essentially shows you what you need to learn, provides an overview, and then provides a very challenging assignment.
There are many characteristics of this course that are frustrating, and some even "bad".If I had to pay significantly for this course, I would have given it 2 stars.
(I believe many of the other reviews may be from students who did NOT complete the assignments themselves.)
That said, it is still a good course, and worth taking.
First, some positives:
- This course is FREE.It is INCREDIBLE to have access to these learning resources at no cost.
- The instructor truly is an expert in the field, and very clearly presents the material.
- This course covers a wider breadth of topics than other Algorithm & Data Structure courses.
- There are automated tests for each assignment, so you can test your code, and to a high level.
And now, for the WARNINGS:
- The time estimates for the assignments are laughably WRONG.NO reasonable student could complete the assignments in 8 hours.Bet on closer to 3-5 days working full time (24-40 hours), maybe more, for each. Even the online TAs say that the assignments took them days to complete.
- The assignment descriptions are NOT complete.You will complete everything listed in the assignment specification, and then still fail some of the automated tests, as they impose additional requirements and test things not mentioned in the spec.Use the forums and FAQs for insight into the additional requirements.
- The lectures included in this course provide very helpful summaries, but do NOT thoroughly cover all material.You do NOT get access to all the lectures from the equivalent course at Princeton, only a select and abbreviated subset.The content of the lectures is very good, but the presentation is extremely dry. Dr. Sedgewick is a capable man, but not an inspiring or entertaining presenter (in these lectures, at least).
- You will have to do LOTS of self-learning from other sources to complete the assignments.I strongly recommend buying the textbook.It helped me incredibly after I finally chose to buy it.
- This course DOES require Java-specific competency, despite its claims.Over 100 pages of the textbook are devoted to specific intricacies of Java.I was not familiar with Java and had to spend more than 1 week (40-50 hours) learning Java before I could even start the course assignments. I then spent at least an additional week (40+ hours) learning the more advanced Java features this course requires: Generics, custom Iterators, custom “Comparable” and “Comparator” interfaces, etc.So, add that to your time estimates for this course if you are not already competent in Java.
I want to give a sincere thanks to the TA(s) who are still very actively involved on the forums!
Over 15 years on, I would say this is still a good course.If you want to learn Algorithms, this is a good option.