I advise you to ask yourself are you good at problem solving, reading, and thinking about things logically. While I believe that it is possible for everyone to learn to program, they may not like it in the end. If you can stand being stuck on a problem, troubleshooting for hours to days, then finding out the solution was something fairly simple in the end without being utterly infuriated, this might be the job for you!<p>In terms of actually learning, I remember this being posted sometime ago, perhaps a good place to start.
<a href="https://github.com/jwasham/coding-interview-university/blob/master/README.md" rel="nofollow">https://github.com/jwasham/coding-interview-university/blob/...</a><p>Edit: Actually thinking about it this is probably a good point following taking one of those coursera, udemy, or codeacademy courses to give you the absolute fundamentals, then build up from there. The repo posted above contains a lot of the actual computer science related material you would learn in a classical university education.