Software Carpentry aims to teach researchers basic concepts, skills, and tools for working with data to get more done in less time, and with less pain. This hands-on workshop introduces the Unix shell, Git version control, and R — the core toolkit for reproducible scientific computing. Topics include navigating the command line, writing shell scripts and loops to automate repetitive tasks, tracking project history with Git and GitHub, and wrangling and visualizing data in R using tidyverse and ggplot2. A key feature of this workshop is integrating AI tools (Claude, ChatGPT) as coding partners: participants learn to write effective prompts, critically evaluate AI-generated code, and iterate toward working solutions.
The workshop is aimed at graduate students and researchers but is open to all; no prior programming experience is required. Participants must bring a laptop with a Mac, Linux, or Windows operating system on which they have administrative privileges. For more information, visit imci.uidaho.edu/data-carpentries-training.
Unix Basics
The shell, navigating directories, flags, pipes, wildcards, and viewing files.
Files & Directories
Creating and manipulating files, nano, moving and copying, file permissions, and combining commands.
Loops & Shell Scripts
For loops, brace expansion, writing reusable shell scripts with arguments and comments.
Git + Intro to R
Version control with Git and GitHub, then RStudio orientation and your first R session.
R Data Structures & dplyr
Object types, vectors, data frames, subsetting, and the tidyverse pipeline with select/filter/mutate.
R Visualization
Base graphics, ggplot2 grammar, colors, themes, saving figures, facets, and multi-panel plots.
How It Works
Each day page contains green AI Prompt boxes with pre-written prompts you can copy and paste into Claude.ai, ChatGPT, or Gemini. The AI writes the code — your job is to read it, run it, and iterate when things break.
- Read what the AI produced before running it
- Run the code and check the output
- Iterate — paste error messages back and ask for a fix
- Understand — ask the AI to explain anything you don't follow
Prompt Writing Best Practices
The quality of what the AI gives you depends almost entirely on how well you describe what you want.
Tell the AI what language or tool you're using and what your goal is. "I'm using bash on macOS and I want to…" is much better than just "write me a script."
Vague questions get vague answers. Describe exactly what you have and what you want the output to look like. Name your files, variables, and expected results.
When something breaks, copy the exact error message — don't paraphrase it. The specific wording is often the key to diagnosing the problem.
Follow up with "Explain what this script does line by line" or "Why does this step need to happen before the next one?" Understanding is the goal, not just having code that runs.
Keep the conversation going rather than starting over. "That worked — now modify it to also save a log file" builds on context the AI already has.
Free AI Tools
- claude.aiStrong at explaining code and iterating — our top pick for this workshop
- chatgpt.comWidely known, solid support for shell and R
- gemini.google.comFree, works with your Google account
Install Required Software
Please install the following before Day 1. Mac and Linux users have a shell built in; Windows users need one of the options below.
- WSL (Windows users)Windows Subsystem for Linux — recommended option for Windows
- Git for WindowsAlternative shell setup for Windows users
- R and RStudioDownload both — needed starting Day 4
Download the Shell Dataset
We use the Carpentries shell-lesson-data throughout Days 1–3. Download it before Day 1:
# Download and unzip on macOS/Linux
wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip
unzip shell-lesson-data.zip
- Carpentries Shell Novice LessonOfficial Carpentries materials we follow for Unix
- Carpentries R for Reproducible ResearchOfficial Carpentries materials we follow for R
- Get Git! (Evan Will)Excellent introductory Git guide
- Code of ConductThe Carpentries community standards
- Workshop Zoom LinkPasscode: 121279
- IMCI Data Carpentries TrainingUniversity of Idaho IMCI workshop page