Where do I begin now that I want to start learning Python?
1) Materials
2) Programs
3) Community
This post is going to begin a conversation and answer a question that all of us are having or have had, by focusing on materials that are needed to get started. Later posts will talk about Programs, and Community.
A good way of looking at this is by dividing up all your resources into two fields, non-interactive and interactive learning. Since this is for Non-Programmers I would suggest using material that teach the basics of Computer Science while learning the Python language.
Non-Interactive
materials are books, websites, and tutorials that you have to actively engage with. There is not much hand holding, but there is a lot of information to gain.Website/Books:
1. Learn Python The Hard Way is a site and a book that should be enough to get you started. Zed's approach is for people who want to hammer away, each day, at learning python by practicing things over and over until you get it. He has a book and videos you can purchase on his site or Amazon. Fortunately, he put most of his book on his website, so you can try his style out before making a purchase.
Cons: Missing some key basics of computer science.
2. Python Programming: An Introduction To Computer Science is a college text book that introduces you to CS, by teaching you Python. I use this book as my main go to for learning, and all others are supplemental. Mr. Zelle does a great job of building your CS knowledge, while teaching you the language. He has some interactive sections, and a website that has lecture slides, and materials on it.
Pros: Great introduction into CS, and Python by going into deep detail, and examples.
Cons: Reads like a text book, which isn't a bad thing, but may require some self motivation.
Interactive
materials are tools, lessons, and websites that engage you by giving you task, and activities to learn. They are less informational, and expect you to learn by doing. I do both, because it's nice to go at my own speed, understand the background information, but also to practice in a structured manor.
Websites/Classes:
1. Codecademy duh! is a great way to get your feet wet by interacting with python right out the gate. If you've never tried codecademy then you'll be blown away how well the lessons are done here, and it's free!
Pros: Gets you right into Python with an interactive interface, and well designed lesson plans.
Cons: Doesn't do well with explaining the material, and you'll feel lost sometimes since you can write a loop, but you don't know what it means.
2. Udacity has two courses that'll help you get started, Intro to CS and Programming Foundations With Python. Their videos are quite well done, and interactive.
Pros: Free, and the videos keep you interested
Cons: You have to pay to get the full experience like someone to answer your questions.
More Resources
These are just a few curated materials that I have tried, but there are countless resources online. If you're paying for it, make sure it's quality, because there are a lot of great free resources out there.
Here's a site that has a list of resources you could use, and it was compiled by the python organization just for non-programmers.
Next week we will talk about Programs like which python shell to use, and why, as well, what the different versions of python is all about.
Websites/Classes:
1. Codecademy duh! is a great way to get your feet wet by interacting with python right out the gate. If you've never tried codecademy then you'll be blown away how well the lessons are done here, and it's free!
Pros: Gets you right into Python with an interactive interface, and well designed lesson plans.
Cons: Doesn't do well with explaining the material, and you'll feel lost sometimes since you can write a loop, but you don't know what it means.
2. Udacity has two courses that'll help you get started, Intro to CS and Programming Foundations With Python. Their videos are quite well done, and interactive.
Pros: Free, and the videos keep you interested
Cons: You have to pay to get the full experience like someone to answer your questions.
More Resources
These are just a few curated materials that I have tried, but there are countless resources online. If you're paying for it, make sure it's quality, because there are a lot of great free resources out there.
Here's a site that has a list of resources you could use, and it was compiled by the python organization just for non-programmers.
Next week we will talk about Programs like which python shell to use, and why, as well, what the different versions of python is all about.
Keenan
"In learning you will teach, and in teaching you will learn."