Learning to program is about more than just learning the syntax of a given language. In order to be a great programmer, you really need to learn to think like a computer scientist. I firmly believe that the best way to learn to do this is by building things, and not looking at yet another tutorial about how to build a "to-do" app.
Each of the programming courses I offer has one or more major projects where we learn how to build a real world, production ready application. We learn by doing. Let's get started.