Quote (carteblanche @ May 11 2012 04:56pm)
What are you goals? "respected programming developer" is a little vague. You just want to get a decent job without college? You want to be a famous author? You want to start your own blog? Make an app that many people use?
As a beginner, I would suggest first learning a language you like, then making projects with it. Delay things like discrete math and AI until later. Looks like you're doing C first? You can use your C knowledge to write your own iPhone app (or make a website with a web language) which will give you more experience writing larger projects. If you're trying to enter the career field, you'll need to show some of your programs and explain how you designed them, what problems you faced, etc.
Once you're more comfortable coding/designing, then you can focus on more detailed info like AI, the linux kernal, etc.
If you're just interested in it as a hobby, then by all means dive straight into what interests you.
I'd have to say my main aspiration is to enter the career field some how. Whether it be joining a team/company or working on my own client base that's to be determined.
As a beginner I'm focusing on C and Python. What you said is exactly what I plan to do, in regards to creating my own portfolio and overcoming obstacles.
Once i'm more seasoned I'll certainly set sights on the finer details like the aforementioned ones you listed.
For now I'm content with learning on my own, building gradually up, and paying the bills with a run of the mill job.
Some day I hope to get paid for my work though.