If your goal is to learn Google should be able to help you out. If your goal is to have something worth putting on the resume or that will otherwise make it likely that you'll get a job out the far side, you need to do things that aren't ever going to be free unless you can get scholarships.
For programming you have two choices. Go to college, or do something big enough that you can get into somewhere without it. College degrees assert that you learned what you need to learn to be effective. If you don't have one, you need something impressive enough to prove to people that you know what you're doing without it. This usually means a large project, and if you don't already know a good bit of programming and you don't want to go through the college setting, then that's years of full-time learning away at minimum.
no one cares what you know. They care what you've done that proves you know what you claim to know. I'd suggest finding a way to pay for college. If you're set on being a programmer and you've not done enough programming to be able to learn a language without asking us for resources, that's your best bet. I try not to discourage people, but frankly you may be better off finding something that's not programming unless you have years to spare. There are ways to get around the college problem, but they do take that long, and frankly a lot of them also rely on natural talent of one sort or another.
My BlogTwitter: @ajhicks1992