I recently graduated from Cornell and worked on web dev (including back end dev at Google) more than ICPC (competitive coding) in college.
MOOCs are not required to learn anything but I personally find them an enjoyable way to pick up new skills. An alternative is understanding the book. In my opinion, learning the theory before solving problems is the most effective way to learn any subject if you have time.
I have found sticking with one thing at a time usually provides faster returns. Mixing subjects provides a more varied learning experience so you are less likely to lose interest.
In college, I eventually learnt to manage energy instead of time. So I worked out and meditated every other day to refuel.