General reading for the class


If you are new to Python, we recommend starting off with the excellent Introduction to Python.

There are a good set of resources via the “Resources” link on that site. We especially like the Google course, if you like to watch videos to go with your exercises.

Here are some good sites that help you practice writing Python:


  • Nature article on Python in science. This is a recent news article about the benefits of using Python for scientific programming.
  • Essay by Peter Norvig. Peter Norvig is director of research at Google. The essay explains that, to learn programming, and therefore how to do computational science well, takes a long time. We plan to teach you the steps so that you can continue learning computing for the rest of your career.
  • Greg Wilson’s article on scientific computing: Wilson, Greg, et al. Best practices for scientific computing. PLoS biology 12.1 (2014): e1001745. Greg Wilson and others set out the standard set of good habits that reduce errors and increase efficiency for scientific computing.
  • Donoho, David L. 2010. An invitation to reproducible computational research. Biostatistics 11, 385–388. . David Donoho is a professor in the Stanford statistics department who has long championed the need to make our work available to others in a form that lets them reproduce our results.