While I'm sure this won't sound terribly appealing to you, my advice would be to pick a medium size open source project that you're interested in and does code reviews. Start small by contributing bite sized fixes or features that they already have listed as things they want to do - many projects have lists like that for newcomers. If you do that even just a few times and get your code accepted you'll have gained more skills and knowledge about how to build a successful piece of software than almost any classroom would offer. In my experience many projects will be very welcoming to someone like you and yet be willing to hold you to higher standards than most teachers would.
After you did that you'd be much, much more likely to be able to build a successful project on your own.