/sc-hopkins

1 day Software Carpentry workshop for Hopkins Researcher

Software Carpentry - Hopkins Marine Station

Workshop details

  • Date: Tuesday 20 Aug 2024
  • Time: 9 am - 3:30 pm
  • Location: Hopkins - Room TBD

Part 1: Function writing for researchers

Data collection has become increasingly feasible in the past decade. This has resulted in a growing demand for researchers to develop computational skills to automate and streamline their data cleaning, wrangling, and analysis workflows. A critical part of this automation is the ability to write useful functions.

In this first half of the workshop, we will discuss some of the common use cases and pain points for function writing in the Hopkins community. Together, we will tackle some of these issues after learning about common programming concepts and techniques. I will introduce you all to { purrr }, an R package for functional programming. I hope learners will walk away feeling more confident and equipped to tackle function writing when the need arises.

Part 2: Git for collaboration

Collaboration underpins rigorous scientific research, but coordinating team efforts require a great deal of organisation and time. Git - a version control software that is traditionally used in software engineering, can provide a framework for consolidating collaborative project files.

Drawing from the first half of the workshop, we will collaborate together on a function writing project using git. I will go through some key git concepts (commit, pull, push, branch, merge) and we will apply these together. We will have lots of opportunities to practise these concepts and ask questions. I want learners to walk away feeling capable of creating their own Github repository and use git to manage their project files.

What to expect:

I’ve designed these workshops to be interactive and hands-on. Be prepared to have open discussions, brainstorm and work together. I will try my best to create different channels of communication so everyone can contribute.

What to bring/set up/homework:

  • Your computer + charger
  • Sign up for a Github account
  • Download Github Desktop
  • Download and install git
  • Install/Update R
  • Install/Update RStudio
    • install.packages(c("tidyverse", "palmerpenguins", "janitor")) in R
  • Growth mindset + a positive attitude :)

Assumed knowledge:

In order for me to progress with the content I've prepared there are a few things I assume learners have heard of/experience with. Don't fret too much if you don't know these inside out

  • Basic usage of R/RStudio
  • Import and save data
  • Use of RStudio projects (Or an understanding of folder structures and file paths)*
  • Basic usage of tidyverse
  • Understanding of a pipe |> or %>%

*In my opinion, this is an essential skill!