You do not have to read through these at the start of the course.
Come back to
these resources as the course progresses!
Add your own at the end of the list, by clicking "Show related resources", and rate
ones you found useful!
If you're having trouble with a particular concept or simply want to have access to
more information, try one of the following links.
Documentation
Official Python 3 Documentation - "official"/technical explanation of what a particular
function/operator does, examples of correct syntax, what the various libraries are,
etc.
PEP 8 - Style Guide for Python Code - learn what is good and bad style in Python
Textbooks
Dive Into Python - another survey of Python syntax, datatypes, etc.
Think Python by Allen Downey - a good general overview of the Python language.
Includes exercises.
Learn Python the Hard Way - another free online text
Get Programming: Learn to Code with Python by Ana Bell (course staff) - a basic
intro to programming if you are having trouble keeping up with the course
Fluent Python: Clear, Concise, and Effective Programming by Luciano Ramalho - an
advanced book
Tutorials
The Official Python Tutorial - self-explanatory
Reserved Keywords in Python - don't use these as variable names
CheckIO - learn Python by exploring a game world
Invent with Python - develop your Python skills by making games or hacking ciphers
Codecademy - learn Python by building web apps and manipulating data; interactive
tutorial sequence
Python Tutor - interactive tutorial sequence of exercises
Blog with tutorials - created by one of our community TAs
Study Guide - created by another of our community TAs
Debugging
Python Tutor - an excellent way to actually visualize how the interpreter actually
reads and executes your code
DiffChecker - compares two sets of text and shows you which lines are different
Software
Python Tools for Visual Studio - Visual Studio plug-in enabling Python programming
Other Q&A
Stack Overflow - a large Q&A forum for programming concepts (not just Python). Try
searching here before you post on the edX forum, and you may find that someone
has already answered your question.
More practice problems
Python Challenge - a series of puzzles you can try to test your Python abilities
Project Euler - additional programming challenges you can try once your Python
knowledge becomes stronger; problems are sorted by increasing difficulty
Coding Bat - problems you can solve within an online interpreter
Codewars - improve your skills by training on real code challenges
Exercism - after submitting code to be graded, it allows you to see solutions from
others