We will be using (I)Python as our programming language. In order to use some of the material available on this website and to share your material with others you should create a GitHub account for yourself. This will be useful to you in the future to keep track of changes when you are writing papers. I also recommend creating a Bitbucket account, which has similar functionality, but allows you to have unlimited private repositories for personal use. Additionally, I suggest you read Gentzkow & Shapiro's Code and Data for the Social Sciences: A Practitioner’s Guide to familiarize yourself with good practices in coding and statistical analysis. We will cover additional topics in class.

Installing (I)Python & Jupyter

The easiest and most convenient way to install a working version of IPython with all the required packages and tools is using Continuum's Anaconda Distribution. You can install following the instructions in that website, or if you can just run this script. After installing the latest version of Anaconda, add the Anaconda/bin directory to your PATH variable.

In Windows install Visual C++ 9.0, Visual C++ 14 and Microsoft MPI6.

In OSX download and install XCode (from the Apple store) and command line tools (option within XCode or in a terminal execute xcode-select --install).

Then download the following scripts (GeoPython2env, GeoPython3env) and execute

conda update conda
conda-env create -f GeoPython2env.yml
conda-env create -f GeoPython3env.yml

This will create two environments with all the packages you will require for this course (and more!). To start using one of the Python 2.7 environment you will need to exectute the following command

source activate GeoPython2env

and for Python 3.x

source activate GeoPython3env

I would suggest using Python 3.x, since it is the latest and most uptodate version.

Parallel Computing

One of the advantages of Jupyter Notebooks is that they allow you to work (very easily) with multiple processors using ipyparallel. Once you have ipyparallel installed (automatically done for you with the scritps above), you will need to execute the following code once

ipcluster nbextension enable