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.
vim / emacs - old school unix console based editors, they have a steep learning curve but are incredibly powerful.
nano - another unix console editor, easier learning curve but with much less power.
SublimeText - crossplatform GUI text editor with a robust plugin ecosystem
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 / Linux - you should be able to install git via your prefered package manager (if it is not already installed).
Windows - install Git for Windows by download and running the git for windows installer. This will provide you with git, the bash shell, and ssh in windows.
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.
OSX / Unix / Linux - these tools should already be installed and you should be able to access your shell through the Terminal application (name may vary slightly depending on your OS).
Windows - there are several ways to install bash or a bash-like shell, the preferred method is to install the git for windows package as detailed above.
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).