Text Editor:

When you’re writing code, it’s nice to have a text editor that is optimized for writing code. There is a huge variety of options out there, if you do not already have a preferred editor try and few and see which one works best for you.


Git is a state-of-the-art version control system. It lets you track who made changes to what when and has options for easily updating a shared or public version of your code on github.

Unix shell(s) / ssh:

We will be doing much of the work in the class on remote linux systems, primarily we will be interacting with these machine through a remote terminal and a shell. Using a shell gives you more power to do more tasks more efficiently with your computer.


R is a programming language that is especially powerful for data exploration, visualization, and statistical analysis. To interact with R (initially), we will primarily be using RStudio, an interactive development environment (IDE).