The main site for the Python programming language is It’s a fairly busy site, so many of the links below go straight to the important parts inside. (The Beginner’s Guide is one place to start, with lots of links to tutorials, examples, etc., if you want to dig yourself.)

Books & Tutorials

These books and tutorials can help you get a head start on what we’re going to cover in class, or you can use them as additional references to complement the textbook. For these, I suggest you skim through the beginning of each and find one that suits you well. For any concept that is stumping you, search for it in a tutorial for a fresh perspective that might clear things up.

  • The Python and Pandas Field Guide: An Introduction to Computer and Data Science — This online, interactive book includes embedded questions to check your understanding and interactive code blocks that let you write, modify, and run Python code right within the webpage itself. You should be able to find any topic of interest from the table of contents. It covers data science tools (esp. Pandas) as well, but those chapters can be skipped if you just want to focus on Python. [Full disclosure: I am one of the authors. Credit where it’s due: We adapted it from an existing openly-licensed textbook, Python for Everybody.]
  • Computer Science Circles — Also lets you run and modify Python code right within the webpage itself. Very nicely done.
  • Python from Scratch — Videos organized into a series of modules with attached questions for checking understanding and in-browser programming to explore concepts.
  • Hands-On Python Tutorial — Very detailed, can be downloaded as web pages or as a PDF in addition to being read online.

And if you already know how to program in another language:

  • Dive Into Python 3 — This book, fully available online, is a good choice if you already know how to program and want to focus on learning the details of Python 3 rather than the fundamentals of programming.