by : Luke Petschauer
I have been teaching myself programming and Python. Some resources I found helpful:
- Learn Python The Hard Way (book and video tutorial)
It is usually recommended enthusiastically, and I thought it was good. It very much puts the onus on you to investigate and be creative. This can seem daunting at first; I started with LPTHW, quit and did Codeacademy for a while (mostly because it provides instant gratification), and then came back to LPTHW and felt like I got quite a bit from it..
Codecademy's Python course is OK, but I really didn't like the IDE; oftentimes it would reject working code. Like I mentioned above, I came to this after starting – and stopping – LPTHW. It is fun and easy to make progress at Codecademy, but I don't think it's an optimal learning environment, especially if you haven't done any programming before. - Think Python & How To Think Like A Computer Scientist: Learning With Python (Interactive Edition)
Think Python is published by O'Reilly but is also available free, direct from the author. I'm learning from this textbook now after having done (1) and (2), and feel like I'm learning quite a few new things, having important concepts reinforced, and getting an idea of some of the basic ideas of computer science. I've made a Memrise "course" to help me to remember all the vocabulary: Think Python vocabulary. - One of the things that makes Think Python nice is that you do some work with graphics; that adds some spice to material that has become familiar.
The text of Think Python has also been used to develop the interactive textbook How to Think Like A Computer Scientist, which is pretty fantastic. You are able to do everything in the browser, and the course uses Python 3. I've done some work in it. If I'd found How to Think Like A Computer Scientist first, I probably would have only used it.
Hope that's helpful.
I've also written this blog post about my experience learning to program with Python: Some thoughts on learning Python and how to program