Elisha Tan is the Founder of Learnemy, a web application that finds you instructors for anything you want to learn.
Always wanted to build a web application but didn’t know where to start learning? I had the same problem too. I didn’t know what resource was good for newbies because I had no way to tell if I could understand the material or if the material gave me enough information to build an app.
So I’ve put together 10 good sites where you can pick up Python as a newbie without paying a single cent.
Note: Before you start learning, make sure you have a text editor and have Python installed. For text editor, I use Sublime Text on my Mac and Notepad++ on Windows. You can install Python by following the Python installation guide.
Dive into Python: This eBook sets a good groundwork for programming in Python by explaining common terms (string, variable, class etc.) and the general basics of Python. Plus it’s written in a conversational tone, which makes it very easy to read.
Invent Your Own Computer Games with Python: Learn Python by building games like Tic Tac Toe, Hangman and Reversi. This is the coolest guide ever!
Learn Python The Hard Way: This is one of the most popular books for learning Python. It is well written and it helps you learn by doing. Don’t skip the extra-credit exercises! I find they really help me understand Python better.
A Byte of Python: This book has been used at Harvard and even at NASA!
I like how it teaches by showing you the input and output codes before explaining how it works.
Python Programming Tutorials: There are 43 short video tutorials in this course that explains the basic concepts of Python. It’s especially good for those with a short attention span!
The Python Tutorial: This is the official tutorial from the Python project. Although it has a lot of information, I found it a little confusing for a newbie.
Non-Programmer’s Tutorial for Python 3: A product of the WikiBooks (open source) project, this eBook teaches in similar way as #6, but it gives more explanation on each line of the input code.
Begin Python: Although this is not a course, it has plenty of exercises for you to practice Python on.
PySchools: Structured in the same format as Begin Python, this resource has even more exercises for you.
Python Challenge: In the creator’s own words, Python Challenge is “the first programming riddle on the net”. You have to understand Python relatively well before trying this.
What to do when faced with an error
In your early attempts, you’ll definitely run into problems. Google the error showing on your screen to see if anyone had written solutions, tutorials, or if someone has answered it on Stack Overflow.
If you are still stuck, that’s probably because you don’t know the right keywords on Google to retrieve the relevant data. You can ask for solutions on Stack Overflow or at this Google group. Google also has some video Python classes online, as does MIT – so take advantage of both in addition to the resources above.
If you manage to learn enough python to produce an app, you need some design to dress it up. Check out 20 more free resources to learn CSS/HTML, Ruby on Rails and Objective-C (for iPhone/iPad applications) my Learnemy blog.