No, I really struggled to find good courses online. Like I said, I took Grantham's online DSA course, but it was abysmal. They gave me an A on all assignments (even when I was too busy to finish one all the way). I retook a in person DSA course at the University of Wisconsin–Madison. Cost me a pretty penny ($1,400) but I didn't want to apply to grad school without an official DSA under my belt. Ended up with an 89.8%, but considering I was working full-time, I am pretty proud of that score.
I also took the Coursera courses on DS&A in order to fill in gaps in my knowledge. I didn't mention Coursera because they are not accredited. But their online platform is actually a great tool in terms of offering that "in-class" feel. They quiz you in the middle of lecture videos, provide quizzes, and tests. They can't really solve the Google-fu portion of quizzes and tests, but the questions are still challenging. The coding assignments are also decently structured, but you need to push yourself most of the time without cheating. Online answers always exists – especially for the well known courses.
That being said, I did take an online course with FootHill Community College when I lived in CA. It was intermediate C++ (everything OOP + Linked Lists + basic sorting algos). That was a great course. I would have taken their advanced C++ (trees, graphs, more advanced sorting / searching), but they kept filling up on me.
Good courses do exist, but they require some digging around. In my experience, if you can find a local, accredited, public community colleges, then you're going to get a decent experience. If they are local, you can drive down and speak with the professor. You can feel assured of their accreditation. You can also more easily "hide" the online portion by just making your resume/transcript look like:
>MyCity Community College
>4 credits Introductory C++
It often looks better than:
>4 credits Introductory C++
It really depends on your goals:
- Going to college? You need an accredited course with some decent instructors. You'll probably want a public college so when you apply, other institutions "trust" your background
- Getting a job? You might be better off with Coursera as they are more affordable and honestly do a decent job of presenting the information. Jobs don't really care about transcripts. They just want you to be able to do the job.
- Just interested? Do whatever you feel!
But I highly recommend trying to stay local if you're looking to transfer to a college and get a good education in the meantime. I can't really justify why I feel this way... I guess it's because I had the best experience when I wasn't attending 3 different online colleges simultaneously. Staying local allowed me to stick within the same system for as long as possible. Once I got into those more advanced courses though... it became almost impossible to stay local and in a community college. I found some courses at SDSU but they are much more expensive. So, it's a tough call.
Honestly, part of my strategy was "take courses anywhere for credits learn on my own along the way". I can't really recommend that because it's a waste of money and time. But I have to admit, that was how I handled it in my own, desperate, way.