Are those courses actually available in MOOCs? Is the feedback sufficient from the MOOCs for the more technically difficult courses?
I cannot imagine taking, for the first time, a course like CS Theory, but maybe a follow-on course, as a MOOC. So much of what we learned was because of feedback during the semester and tailoring to our level by the professor. If you're talking about an online course with 20-40 participants in a cohort with a dedicated instructor/professor, then it could've worked online. But most MOOCs are not set up that way (from what I've participated in).
On top of that, lacking discipline, I can't imagine anyone in that class but 3 of us choosing to take it voluntarily if alternatives had been provided.
Available courses range across the entire undergraduate curriculum from distributed systems to operating systems to cryptography. The number of different courses available within each area varies a lot, and some only have 1-2 options, but at least they are available.
The situation is much more stark in other subjects, such as mathematics. Many upper-division courses aren't available, so the best you can do is find a book for self-guided study.
[1] https://classroom.udacity.com/courses/cs313
[2] https://www.coursera.org/learn/cs-algorithms-theory-machines
Most of the more popular courses have discord or slack where you can work with other participants. A lot of the CS courses have automated the grading of problem sets. CS50 uses GitHub to submit and grade assignments, for example. There were a lot of frustrating moments for sure but I definitely spent a lot more time with the material and learned a lot more than I would have if I had been given more "support" like you get in a typical classroom. There's definitely a tradeoff. It worked great for me but I had a genuine interest in the topics. I'm also 32. I don't think for a second I could have managed to get as much out of MOOCs as an 18-22 year old.
A minor complaint given that the superb education cost me exactly $0.00 but there are a lot of really good free courses available but you have to hunt for them. For example Paul Hegarty teaches a really great introductory course on developing for iOS with Swift and it's freely available to everyone but it's not listed on Standford's online catalog and the iTunesU version is woefully outdated. The latest version[4] is available on YouTube and even has a dedicated website. I can't even remember how I found the newer course. I also stumbled across "The Ethics of Technological Disruption"[5] by looking at Stanford's YouTube channel playlists. Like the Swift course, it wasn't listed in the university's catalog of free courses.
All that is to say, it's entirely possible, if you're willing to put in the effort not only once you're in the class, but sometimes just to get there as well.
[1] https://ocw.mit.edu/index.htm
[2] https://cs50.harvard.edu/x/2020/
[3] https://online.stanford.edu/search-catalog?free_or_paid%5Bfr...
[1] https://ocw.mit.edu/courses/find-by-number/
[2] https://www.coursera.org/learn/the-science-of-well-being
Maybe there are people disciplined enough. ¯\_(ツ)_/¯ personally I need an external push.
It might make more sense for a certain person to work in the real world for a couple years to get their head screwed on right, before attempting an education. If that imparts enough discipline to allow cheaper alternatives than college, more power to you.