Course Description

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.

Using AI in This Workshop AI

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.

1 · Give context

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."

2 · Be specific

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.

3 · Paste error messages verbatim

When something breaks, copy the exact error message — don't paraphrase it. The specific wording is often the key to diagnosing the problem.

4 · Ask for explanations, not just code

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.

5 · Iterate in the same conversation

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

Before You Arrive

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.

Download the Shell Dataset

We use the Carpentries shell-lesson-data throughout Days 1–3. Download it before Day 1:

bash
# Download and unzip on macOS/Linux
wget https://swcarpentry.github.io/shell-novice/data/shell-lesson-data.zip
unzip shell-lesson-data.zip
Important Links

Feedback & Surveys