Thanks for your comments. I think some courses have high-quality graded assignments. One draw back is that code is autograded. So your code can be correct, but if it don’t match with what the auto grading system is looking for, it will be graded as incorrect. The lack of human graders is an issue.
Also, I find some graded assignments to be well below standards. That’s why it’s good to use MOOCs just to build fundamental knowledge. Then further explorations can be done using textbooks.
Another major drawback of MOOCs is that the capstone projects are very limited in scope, an no where matches the quality of real-world industrial type projects. Also the capstone is an individual project, which does not reflect the real-world, as in the real-world, more emphasis is placed on collaboration and teamwork.