Choose a language, any language, and start doing things. Between Google, Stackexchange, Github, youtube, reddit, orielly, IRC, mailing. Video lectures, finger exercises, a weekly project and a great discussion forum help create a much better learning environment than code academia. If you only focus on syntax initially, you learn without context - you memorise and memorising and programming don't go together.
Programming is an area where you can never stop learning, even if you limit yourself to a single programming language. Don't get me wrong, codeacademy is a great place to start, but if you have the time, sign up for an edx course, or at least go through a completed course at your own pace. Then, they implement the solution without spending time to really understand it (copy and paste code monkey style), which is a huge red flag. I was stuck when I was younger with those web tutorials and wasn't learning much until I happened to find a Perl book.
I planned, wrote my code, debugged the code in my mind and then, when I was sure it would work and produce the desired output, I used my session to actually write the program. When I learned to program, there was no Internet and hardly any knowledgeable people I could ask, so I was forced to struggle and find the solutions on my own. If you've wanted to learn C but have been too afraid after hearing rumours, give it a try. Learning Python is often a good start to learning the general concepts of Computer Science as well.
The market for learning the basics is so massive, and so few people go beyond that, that you'll find an almost endless supply of material. You'll learn how to get your own website hosted for free on Google App Engine, but you'll also learn how to avoid the most common pitfalls it took to get Reddit to where it is today, among other things. Especially beginners often confuse learning a programming language (in syntax and grammar) with learning programming (the real, hard part). It is almost completely overlooked and I think that is the main reason why so few people get past learning the syntax.
Trying to complete an objective teaches you to really learn what you don't know and fill in the blanks.