School is a great place to start as a degree will go to helping you land a job. Past that there are tons of study guides and materials out there to help you learn. Start with something like C#, C++ or Java, and look in to some study materials. Even the "Learning Java for Dummies" books will help teach you some of the basics and help you better understand what to expect before you jump into an expensive class. Look to download a free compiler as well to do your work in and test your code. Online references like http://www.w3schools.com/ are a huge help as well.
edit:
seriously though, i am just about to graduate from my university and i have coded a lot of simple-moderate programs. the best way to learn programming is by writing code and experiencing everything first-hand. reading books or guides might help but ultimately, its through practice and more practice that you get to learn most.
It's like learning an instrument or new vocal language - start small, make mistakes, learn from mistakes, progress at a comfortable pace. The learning curve is the highest at the beginning
School is a great place to start as a degree will go to helping you land a job. Past that there are tons of study guides and materials out there to help you learn. Start with something like C#, C++ or Java, and look in to some study materials. Even the "Learning Java for Dummies" books will help teach you some of the basics and help you better understand what to expect before you jump into an expensive class. Look to download a free compiler as well to do your work in and test your code. Online references like http://www.w3schools.com/ are a huge help as well.
Udemy has great online course, I am learning Java and Android programming from their. It really helps, I have programmed a simple calculator with themes! I learned all in 2.5 months, sure if you practice more, you are good to go!