Advanced R

University of Birmingham

Feb 10-11, 2026

Feb 10: 9:00 am - 1:00 pm GMT, Feb 11: 1:00 pm - 5:00 pm GMT

Instructors: Christine Stawitz

Helpers: Christopher Shave

General Information

The Carpentries project comprises the Software Carpentry, Data Carpentry, and Library Carpentry communities of Instructors, Trainers, Maintainers, helpers, and supporters who share a mission to teach foundational computational and data science skills to researchers.

Want to learn more and stay engaged with The Carpentries? Carpentries Clippings is The Carpentries' biweekly newsletter, where we share community news, community job postings, and more. Sign up to receive future editions and read our full archive: https://carpentries.org/newsletter/

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: Murray Learning Centre LG13, R28, University of Birmingham, Birmingham B15 2FG. Get directions with OpenStreetMap or Google Maps.

When: Feb 10-11, 2026; Feb 10: 9:00 am - 1:00 pm GMT, Feb 11: 1:00 pm - 5:00 pm GMT 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).

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

We are dedicated to providing a positive and accessible learning environment for all. We do not require participants to provide documentation of disabilities or disclose any unnecessary personal information. However, we do want to help create an inclusive, accessible experience for all participants. We encourage you to share any information that would be helpful to make your Carpentries experience accessible. To request an accommodation for this workshop, please fill out the accommodation request form. If you have questions or need assistance with the accommodation form please email us.

Glosario is a multilingual glossary for computing and data science terms. The glossary helps learners attend workshops and use our lessons to make sense of computational and programming jargon written in English by offering it in their native language. Translating data science terms also provides a teaching tool for Carpentries Instructors to reduce barriers for their learners.

Workshop Recordings: Carpentries workshops are designed to be interactive rather than lecture-based, with lessons that build upon one another. To foster a positive online learning environment, we strongly recommend that participants join in real time. As a result, workshop recordings are not recommended and may not be available to learners.

Contact: Please email c.c.stawitz@bham.ac.uk or c.shave@bham.ac.uk for more information.

Roles: To learn more about the roles at the workshop (who will be doing what), refer to our Workshop FAQ.


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.


Collaborative Notes

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Surveys

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

Pre-workshop Survey

Post-workshop Survey


Schedule

Day 1

Before Pre-workshop survey
09:00 Good practices
10:30 Code readability
11:00 Morning break
11:15 Code readability (continued)
12:15 Code structure
12:45 Wrap up
13:00 END

Day 2

12:00 Code structure (continued)
13:30 Coffee break
14:00 Code documentation
15:30 Code correctness
16:30 Reproducible development environment
16:30 Post-workshop Survey
17:00 END

Setup

To participate in a Software Carpentry workshop, you will need access to software as 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.

Setup Instructions

Text Editor

When you're writing code, it's nice to have a text editor that is optimized for writing code, with features like automatic color-coding of key words. The default text editor on macOS and Linux is usually set to Vim, which is not famous for being intuitive. If you accidentally find yourself stuck in it, hit the Esc key, followed by :+q+! (colon, lower-case 'q', exclamation mark), then hitting Return to return to the shell.

nano is a basic editor and the default that instructors use in the workshop. It is installed along with Git.

nano is a basic editor and the default that instructors use in the workshop. See the Git installation video tutorial for an example on how to open nano. It should be pre-installed.

nano is a basic editor and the default that instructors use in the workshop. It should be pre-installed.

R

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

Install R by:

  • Downloading and running this .exe file from CRAN.
  • Installing 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.

Install R by:

  • Navigating to CRAN and following the instructions outlined there, using your package manager. We have reproduced the commands below:
    Use the terminal command prompt to type/copy-and-paste these commands in, pressing Enter after each line to run the command.
    Do not run the lines with # at the start of each line, as this indicates a comment and is not part of the command.
        # update indices
        sudo apt update -qq
    
        # install two helper packages we need
        sudo apt install --no-install-recommends software-properties-common dirmngr
    
        # add the signing key for these repos
        wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
    
        # add the repo from CRAN
        sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
    
        # install R itself
        sudo apt install --no-install-recommends r-base
                    
  • Installing the RStudio Server IDE:
        # install dependencies
        sudo apt install -y r-base-core r-recommended r-base-dev gdebi-core build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
        sudo apt install --no-install-recommends gdebi-core
    
        # cd ~/Downloads
    
        # download the latest RStudio Server .deb file
        wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2025.05.1-513-amd64.deb
    
        # install the .deb file
        sudo gdebi rstudio-server-2025.05.1-513-amd64.deb
    
        # start the RStudio Server
        sudo systemctl start rstudio-server
    
        # enable RStudio Server to start on boot
        sudo systemctl enable rstudio-server
                    
  • After installation of RStudio Server, check you can access it by:
    • Opening a web browser and navigating to http://localhost:8787.
    • Logging in with the username and password you used when you set up Linux / WSL2.

If you are using Windows and WSL2, the full in-depth instructions for installing R on WSL2 can be found in this POSIT article.