Algorithmic Toolbox, part of Data Structures and Algorithms Specialization
OK, I am a MOOC dropout.
I read so many positive reviews with the Specialization this course has been included, and the structure and intro of this course really look good, so I have inrolled this bulky specialization. As a dropout, this review will point out more of its drawbacks than its strengths. It doesn't mean this course sucks. I believe there must be a lot of people who will love and benefit this course. Just, it wasn't me.
I am usually not good at giving up something, but after spending almost 30 hours last week on this course, I became doubtful and found this review. and thought that keep struggling with this course is too inefficient, and it might be not a give up at this point. I hope that I had read this review before I enrolled.
Complains
1. Lack of visual.
The instructors show pseudo code on the slide, but that's all. There are barely any animation or memo are used. Sometimes, they even say an equation with only with speaking even without simple text displayed.
2. Unkind pseudo code.
Despite the fact that it's almost all what students have to help their understanding, I think they were the most unkind one that I have ever seen. Variable names were meaningless without annotation, and the only explains were performed by verbally. In addition, it was hard to see the relationship between functions in one sight.
3. Inconsistency in indexing.
It almost drives me crazy. They mixed 1 index and 0 index constantly. It greatly disturbs me to keep track of what they are doing.
4. Insufficient resource.
One funny thing was that at the end of every week, they've made a note saying "If you find this lesson difficult to follow, a (topic name) at Khan Academy". I feel like it's a dereliction of duty. And even though I finished every material about Algorithms at Khan Academy, and the prerequisite course recommended (Introduction to Discrete Mathematics for Computer Science), it doesn't make me understand every detail of this course.
5. No post assignment.
I saw there are some Coursera courses that reveal specific contents only after passing an assignment to prevent cheating and provide more detail. It seems like they heavily rely on assignments(6-8/w), there were no explain after it. Whether I have passed the assignment or not, I had to research online to see the best algorithm and implication.
6. Poor grading system.
Even though I appreciate the existence of the grading system, it wasn't good compared to program practice sites these days. I have to submit all 6~8 assignments at the same time, and it took a hell of a time for grading. I had to clear cash of my browser from time to time to make it work. And it doesn't always provide you with the wrong cases. A stress test was recommended, however, the "naive" function provided to compare sometimes also give you a wrong answer.
Summary
This course is very similar to traditional education in many aspects; It's stressful, long, need to find an extra study on your own, and unkind if you are out of luck. And also you learn more from your classmates. The course only provides you with a guideline to study and you learn more from external resources.
To be fair, I don't think it is the problem of the instructors, since many of them are the same profs from Introduction to Discrete Mathematics for Computer Science, and I really like that course. I think it might be a problem with the course owner and the way the course is designed.
However, please don't let me stop taking you taking this course. I think you might more knowledgeable than me and could take advantage of this course. However, I wouldn't recommend it to a beginner who is lack math knowledge like me. Actually, it made me start to restudy Algebra II. It would be better if the prerequisite and objective are informed in more detail at the beginning.
TL;DR: Please recommend me kindly explained !important, and wide scoped||detailed Algorithms course!
It doesn't need to be Khan Academy level of kindness, but a bit of visual explain will be appreciated. Also, hands-on exercise is a must.
Top comments (6)
I used to view this course in conjunction with my Design and Analysis of Algorithms course at university, but it didn't really help.
Udacity has a new Nanodegree for Data Structures and Algorithms. I can't vouch for it, but you can check out this free course.
It's such a shame that many people had a similar experience on such a famous course like this. Thank you for the recommendation! It's free at least, so what's the harm!
Yes, and Udacity courses are known for being interactive and visual. I hope it helps 👍🏽
It sounds really promising. I was a bit scruple of Udacity Nanodegree courses because of their price, but it makes me be interested in their other course as well.
The best algorithms course I've found is Algorithms, Part I on Coursera. Grokking Algorithms is another great resource. Both only use the necessary math. They are as enjoyable, informative, and quite visual.
Thank you for your answer! I was afraid of taking Princeton's course because I saw somebody's review that it's a bit difficult to beginner. I just started Udacity's course as @Doaa suggested above, and I hope after I finish that one it will be not impossible for me to take Princeton's course!
The book really looks good as well. I love the fact that they also have an e-book version.