Scientific Python distribution
We will be using the Anaconda Python distribution, which can be downloaded here. We will use Python 3.4, so make sure you download and install that version.
Online instruction
Free instructional materials abound. Below are some resources to help you learn programming principles using Python.
- Think Python, by Allen Downey. While we do not have a formal textbook, much of our philosophy in the classes is based on this book. It is available for free as a PDF, or you can buy a hard copy from Amazon.
- Learn Python the Hard Way, by Zed Shaw. Zed has written several books in his tutorials Learn Code the Hard Way. As he explains, "the hard way," in which you hand-type everything you are learning, is actually easy. Zed is quite opinionated (but backs up his opinions), and some things he suggests might be different from what we do in class (using Python 3 in particular; he uses Python 2). Specifically, his crash course on the command line will be useful to you.
- Software Carpentry is a great organization that teaches coding practices to beginners with many lessons. Of particular value to you in the context of our bootcamp are their lessons on the Unix shell, version control with Git, and of course Python. We will also be covering the material in their Best Practices in Scientific Computing.
- Exploratory computing with Python, by Mark Bakker. This is a nice set of Jupyter notebooks that help you learn some of the basics of scientific computing with Python. Beware, though, these lessons have not yet been ported to Python 3.
Books
Below are books we have found useful in learning Python and preparing for the bootcamp.
- Computing for Biologists: Python Programming and Principles, by Libeskind-Hadas and Bush, is an introductory programming book written specifically for biologists. Some of the examples in the bootcamp are inspired by this book.
- A Student's Guide to Python for Physical Modeling, by Kinder and Nelson, is a nice book to have by your side while getting your feet wet with Python. Unfortunately, the hard copy is not available until the week after the bootcamp, but the Kindle edition is available.
- Python Essential Reference (4th Ed), by David Beazley. This is a long and quite complete reference. It is also very clearly written. If you are going to be doing more programming in Python in the future, this is a good book to have on your desk.