There are several elements of being a programmer that aren't necessarily well captured when people talk about learning to code.
Of course you need the syntax of your chosen programming language. But you need to learn how to think in some very specific ways. You have to break down problems into small steps, reuse previously written code, understand logic, understand how to look for a problem when your code breaks, etc.
An example is... Given a list of numbers, determine which is smallest. It's easiest to figure this question out once you understand variables, loops, and conditionals, and if you start with 1 number, then add a second, and a third, etc.
Good luck. Try to use free time, (commute perhaps) to think about programming if you can, in addition to the hour a day.
Learning by doing is usually the best way to get the material to stick though. If you can work on your own side projects or apply what you've learned at work, that might help you progress a lot faster.
This should give you a fairly good foundation in the basic concepts of programming, while creating some pretty cool stuff in the psets and for the final project.
I recommend http://learnpythonthehardway.org/.