Space Telescope Science Institute

Jan 18-19, 2012

The main aim of this two-day boot camp is to make sure everyone has the skills needed to tackle the material we'll be covering online over the next 5-6 weeks. Based on your responses to our survey, our schedule will be:

  1. A quick refresher on Python using invasion percolation as an example. This will also give us a running example to use in the second and third parts of the boot camp.
  2. The basics of object-oriented programming, including how to create your own classes, and how to design classes for re-use.
  3. How to test programs (and, more importantly, how to design programs so that they're testable).
  4. The basic elements of version control using Subversion. (Note: roughly half of participants already know this, so we'll do this first on Thursday morning for those who don't.)
  5. Agile vs. sturdy software development practices (or, how to be productive in groups on longer timescales).
  6. How to automatically track the provenance of data (which will also serve as a wrap-up exercise).

This boot camp is meant to be highly interactive: please bring your laptop, and ask lots of questions as we go along. Since everyone seems to be using Linux or Mac, all you will need to have installed for the first day is Python 2.7.