Stony Brook University Institute for Advanced Computational Science

Oct 13-14, 2019

9:00 am - 4:00 pm

Instructors: Katherine Simeon, Christine Swanson

Helpers:

General Information

Register Here

Software Carpentry aims to help researchers get their work done in less time and with less pain by teaching them basic research computing skills. This hands-on workshop will cover basic concepts and tools, including program design, version control, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own research problems.

For more information on what we teach and why, please see our paper "Best Practices for Scientific Computing".

Who: The course is aimed at graduate students and other researchers. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: 100 Nicolls Road Stony Brook, NY 11794. Get directions with OpenStreetMap or Google Maps.

When: Oct 13-14, 2019. Add to your Google Calendar.

Requirements: Participants must bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Code of Conduct: Everyone who participates in Carpentries activities is required to conform to the Code of Conduct. This document also outlines how to report an incident if needed.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Contact: Please email katherine@rladies.org or christineswanson@ufl.edu for more information.


Surveys

Please be sure to complete these surveys before and after the workshop.

Pre-workshop Survey

Post-workshop Survey


Schedule

Sunday, October 13

Before Pre-workshop survey
08:30 Help with software installation (if needed)
09:00 Introductions
09:05 Introduction to R and R Studio
10:00 Project management with R Studio
10:30 Seeking help
10:45 Morning break
11:00 Exploring data frames
11:30 Subsetting data
12:00 Lunch
13:00 Review and data subsetting exercises
13:30 Control flow
14:35 Afternoon break
14:50 Creating publication-quality graphics with ggplot2
16:00 END

Monday, October 15

09:00 Review from Sunday
09:15 Functions explained
10:15 Writing data
10:35 Break
10:50 Splitting and combining data frames with plyr
11:50 Data manipulation practice
12:00 Lunch
13:00 Data manipulation with dplyr
14:00 Data manipulation with tidyr
14:45 Break
15:00 Reproducible research
15:55 Post-workshop Survey
16:00 END

Syllabus

Programming in R


Setup

To participate in a Software Carpentry workshop, you will need access to the software described below. In addition, you will need an up-to-date web browser.

We maintain a list of common issues that occur during installation as a reference for instructors that may be useful on the Configuration Problems and Solutions wiki page.

R

R is a programming language that is especially powerful for data exploration, visualization, and statistical analysis. To interact with R, we use RStudio.

Video Tutorial

Install R by downloading and running this .exe file from CRAN. Also, please install the RStudio IDE. Note that if you have separate user and admin accounts, you should run the installers as administrator (right-click on .exe file and select "Run as administrator" instead of double-clicking). Otherwise problems may occur later, for example when installing R packages.

You can download the binary files for your distribution from CRAN. Or you can use your package manager (e.g. for Debian/Ubuntu run sudo apt-get install r-base and for Fedora run sudo dnf install R). Also, please install the RStudio IDE.