Background reading
This course has a rather different focus from many introductory courses to Python. Typical courses in Python are for people who want to learn “programming” in the abstract, and there are some very good books and online courses for this; see below for some suggestions.
Python for scientific data analysis
This course concentrates on using Python for data analysis, so it has a strong focus on the libraries that you need to get, select, visualize and analyze data. Unlike many courses on Python and data analysis, this course does not assume you have done any programming before. As yet there are no good printed books that we know if, that follow this scheme. For online material, the Berkeley course in data science is a very good introduction, that proceeds at a faster pace that we do. You’ll see that we have used a lot of their material for this course. Berkeley has a various matching Data Science EdX courses that you can take for free. You can also pay to take a formal certification on the same courses. The Software Carpentry organization has good online lessons that introduce various tools for using code in science, including an introduction to Python, although this lesson goes at a much faster pace than our course. If you want a set of online materials for using the scientific libraries, that does assume some background in using Python, try the Scipy Lectures. If you know Python reasonably well, and you need an introduction to data science for Python, then Jake VanderPlas’ Python data science handbook is a good resource. It is very clear, well-written, and up to date, but it is not suitable for a beginner in Python.
Python programming in general
You will find many good free online resources for learning Python programming in general.
My current recommendation is a book and course by Allen Downey that he first called “Think Like a Computer Scientist” and later called “Think Python”. It is well-written, and has gone through several versions, so the material is well tested.
The latest edition of “Think Python” is the second, and you can get it free as a PDF, or order a print copy - see the Think Python 2e web page.
There is an interactive edition based on the same original text at Think Like a Computer Scientist interactive edition.