There are a lot of learning resources on the internet; it can be overwhelming to figure out will work best for you and where to start. The following are resources that Pyladies PDX members have found useful to them, depending on background.
If you’re brand new, you’ll first need to get your computer set up to start programming. We recommend the Django Girls Installation Instructions. These instructions are great regardless of whether or not you’re interested in Django (a web framework). The first paragraph on this page says you can skip if reading from home… don’t skip it, the whole point is to get your computer set up. Follow each section up until the “What is Django” chapter. These instructions cover Mac, Linux and Windows, and are frequently updated.
Once you’ve got everything installed, and know a little bit about the command line, you’re ready to dive into Python. Depending on why you’re interested in learning python, we recommend the following tutorials:
There are a lot of web frameworks in Python. If you don’t already know which framework you need, we recommend the excellent Django Girls tutorial.
Software Carpentry Programming skills for science research
Data Carpentry Focus on data organization, cleanup, analysis, and visualization
Think Python Introduction to Python that also touches on general programming and computer science concepts as well.
Learn Python The Hard Way General Python intro with a focus on repetition to build a foundation of understanding. This one costs money.
For people familiar with Python, or experienced programmers
There are a lot of web frameworks in Python, some of the most popular:
Flask Mega Tutorial A good introduction to flask, by one of our favorite authors.
Build a bot A fun tutorial for building a twitter bot.
Project Euler Project Euler is a list of math problems that are time consuming to calculate by hand, but relatively easy to understand and quick for computers to calculate. The problems get progressively harder, so start at the beginning.
Exercism Exercism.io has programming exercises that you can try and test on your own or submit to the website for feedback from other programmers.
Rosalind A platform for learning bioinformatics through problem solving.
For people who like a structured learning environment, there are online classes with video lectures and homework assignments. The classes range from absolute beginner to advanced material.
Edx Online free classes mix of universities and organizations
Coursera Online university courses. Some of the videos and reading material can be accessed for free. Homework and feedback on submitted work costs money.
MIT Open Courseware Free online MIT classes.