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.
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.
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.
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.
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.
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.
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.
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.