Michigan State University

BEACON Center Seminar Room
Biomedical and Physical Sciences building, room 1455A
567 Wilson Road
East Lansing, MI 48824

September 23 - 26, 2013
8:00 AM - 11:30 AM


Subject to Change

Day 1
7:30 - 8:00 Setup Help
8:00 - 10:00 The Shell
10:00 - 11:30 Python Variables
Day 2
7:30 - 8:00 Setup Help
8:00 - 9:00 Python Data Structures
9:00 - 10:00 Python Flow Control
10:00 - 11:30 Python Functions and Modules
Day 3
7:30 - 8:00 Setup Help
8:00 - 9:30 Version Control Local
9:30 - 11:30 Version Control Remote
Day 4
7:30 - 8:00 Setup Help
8:00 - 9:30 Debugging
9:30 - 10:30 Testing
10:30 - 11:30 Documentation


Required Software

To complete the entire workshop you need several things: a Bash shell, git, a code editor (though any plain text editor will work in a pinch), and a scientific Python installation that includes the IPython Notebook, and nose.

Please install all the required software and the virtual machine (explained below) prior to the start of the boot camp. If you have any issues, we will be available starting at 8:30 am Monday to help set up your machine.



The default shell in Mac OS X is bash.


Install Git Bash following the instructions here.


The default shell is usually bash but if not you can get to bash by opening a terminal and typing bash.



Install Xcode and the command line tools (from the Download preferences pane) or install just git.


Install Git Bash following the instructions here.


If git is not already available on your machine you can try to install it via your distro's package manager (e.g. apt-get).

Code Editor


We recommend Text Wrangler or Sublime Text.


Notepad++ is a popular free code editor for Windows.


Kate is one option for Linux users.


Installing everything you need on your own can be a bit difficult so we recommend just installing Enthought Canopy, which comes in free and academic versions for Mac, Windows, and Linux. Be sure to allow Canopy to install itself as the default Python distribution on your machine.

For other options check the Python4Astronomers page on installing scientific Python.

Virtual Machine

Installation issues can and do happen. To ensure that you can continue to participate in a lesson even if one of your software programs fails, we provide a Linux virtual machine that contains all the necessary software pre-installed. Please install VirtualBox and download this virtual machine image. Load the VM into VirtualBox by doing Import Appliance and loading the .ova file.


We will be using Etherpad for an online chat room and notebook that will allow you to ask the instructors questions and take notes in real time. We encourage you to help out your fellow students if you know an answer.

For the Python segment we'll use a new Etherpad page: Etherpad: Python Module

For the Git/GitHub segment we'll use a new Etherpad page: Etherpad: Git/GitHub Module


This workshop will be presented by Randy Olson (olsonran AT msu DOT edu), Jory Schossau (jory AT msu DOT edu), Tracy Teal (tkteal AT msu DOT edu), Jordan Fish (jrdn.fish AT gmail DOT com), and Michael Crusoe (mcrusoe AT msu DOT edu). For more information contact info@software-carpentry.org.