Scientific Python distribution
We will be using the Anaconda Python distribution, which can be downloaded here. We will use Python 3.5, so make sure you download and install that version.
Test editor
We will be using Atom as our text editor. You can download and install it here.
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.
- DataCamp's Intro to Python online course is a good introduction to the Python language. While the course is specifically for data science, almost all of the skills are transferable to biology.
- Codecademy Offers browser-based interactive coding courses in a variety of languages, including Python. Their courses on learning the command line, learning git, and of course learning Python are probably most useful for you for the bootcamp.
- 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.