pyladies pdx logo

Self Paced Learning Material

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.

Tutorials for Beginners, new to programming

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:

Web development:

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.

Science/Data Analysis:

Software Carpentry Programming skills for science research

Data Carpentry Focus on data organization, cleanup, analysis, and visualization

Generic Beginner Python

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.

Non-beginner resources

For people familiar with Python, or experienced programmers

Web Development

There are a lot of web frameworks in Python, some of the most popular:

  • Django: a fully-featured “Batteries Included” framework. It has a lot built-in, but is then more complex
  • Flask: a “microframework”, it gives you just enough to get a website up, and the rest is up to you.
  • Tornado: an asynchronous web framework
  • Twisted: another asynchronous web framework

Flask Mega Tutorial A good introduction to flask, by one of our favorite authors.

Other tutorials

Build a bot A fun tutorial for building a twitter bot.

Practice problems

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 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.

Online classes

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.

General Reference

Official Python website

Lotsa free online books

Python cookbook

Pro Git