For those looking for a very good beginner's tutorial, check out Chris Pine's Learn to Program. Of course, there's always Codecademy and LearnStreet as additional resources. What I've found though is that reading Chris' tutorial and actually doing the coding in a "real world" environment with an actual text editor and Terminal forces me to do things with less training wheels. There are times when things don't work no matter how many times I rewrite them but once they finally do work, that amazing a-ha moment is immensely greater than doing things in a more hand holding fashion. I also find that when I'm not fed the answer and have to actually hunt and figure it out myself that it sticks with me more. The journey of discovery is much more important than the destination.