UC Library Carpentry Workshop

UC Carpentries (Online)

Online

May 11-20, 2026

9:00 am - 12:00 pm PT

Instructors: Cody Hennesy (UCB), Jose Niño Muriel (UCSB), Jamie Jamison (UCLA), Tim Dennis (UCLA), Seth Erickson (UCSB), Ryan Horne (UCLA), Derek Devnich (UCM), Reid Otsuji (UCSD)

Helpers: Dave George (UCLA), Kristi Liu (UCSB), Geno Sanchez (UCLA), Renee Hui Xin Ng (UCSD), Hannah Sutherland (UCLA), Geoffery Boushey (UCSF), Kat Koziar (Fresno State), David Palmquist (Fullerton)

General Information

Registration: Please register in Zoom before attending the workshop.

Register for the workshop

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/

Library Carpentry is made by people working in library- and information-related roles to help you:

Library Carpentry introduces you to the fundamentals of computing and provides you with a platform for further self-directed learning. For more information on what we teach and why, please see our paper "Library Carpentry: software skills training for library professionals".

Who: The course is for people working in library- and information-related roles. You don't need to have any previous knowledge of the tools that will be presented at the workshop.

Where: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: May 11-20, 2026; 9:00 am - 12:00 pm PT Add to your Google Calendar.

Requirements: Participants must have access to a computer 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.

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 accessibility support for this workshop, please fill out the accessibility support request form. If you have questions or need assistance with the accessibility support 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 or tdennis@library.ucla.edu 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: Monday, May 11, Tidy Data

09:00Welcome & Setup Check
09:15Tidy Data: Introduction & Spreadsheet Basics
10:00Formatting Data Tables & Common Problems
10:30Break
10:45Dates as Data & Quality Control
11:30Exporting Data & File Formats
12:00Wrap-up

Day 2: Tuesday, May 12, Command Line (Shell)

09:00Introduction to the Shell
09:30Navigating the Filesystem
10:15Working with Files and Directories
10:30Break
10:45Automating with Loops
11:30Counting and Mining with the Shell
12:00Wrap-up

Day 3: Wednesday, May 13, Git & GitHub

09:00What is Git and GitHub?
09:30Getting Started: Config & Commits
10:15Sharing your Work on GitHub
10:30Break
10:45Collaborating & Resolving Conflicts
11:30GitHub Pages for Librarians
12:00Wrap-up
Mid-Workshop Break: No sessions Thursday, May 14 – Sunday, May 17.

Day 4: Monday, May 18, OpenRefine

09:00Introduction to OpenRefine
09:30Importing & Exploring Data
10:15Faceting and Filtering
10:30Break
10:45Clustering & Working with Columns
11:30Transformations (GREL) & Exporting
12:00Wrap-up

Day 5: Tuesday, May 19, Python (Part 1)

09:00Python: Variables & Types
09:45Lists & Built-in Functions
10:30Break
10:45Libraries & Introduction to Pandas
11:30For Loops & Looping Over Datasets
12:00Wrap-up

Day 6: Wednesday, May 20, Python (Part 2)

09:00Advanced Pandas & Filtering Data
10:00Conditionals & Writing Functions
10:30Break
10:45Data Visualization with Python
11:30Post-workshop Survey & Wrap-up
12:00End of Workshop

Setup

To participate in a Library 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.

Install the videoconferencing client

If you haven't used Zoom before, go to the official website to download and install the Zoom client for your computer.

Set up your workspace

Like other Carpentries workshops, you will be learning by "coding along" with the Instructors. To do this, you will need to have both the window for the tool you will be learning about (a terminal, RStudio, your web browser, etc..) and the window for the Zoom video conference client open. In order to see both at once, we recommend using one of the following set up options:

This blog post includes detailed information on how to set up your screen to follow along during the workshop.

Spreadsheet Software

To interact with spreadsheets in this lesson, we will use Microsoft Excel. If you don't have access to Excel, we recommend using Google Sheets. Google Sheets is free with a (free) Google or Gmail account. You can sign in at Google Workspace. There are other free spreadsheet tools that you can use, though we may not have time to answer questions during the workshop about differences between all of these: LibreOffice, Gnumeric, OpenOffice.org. Commands may differ a bit between programs, but general ideas for thinking about spreadsheets is the same.

The Bash Shell

Bash is a command-line tool that lets you work with files and folders by typing commands. For this lesson, you will need a Unix-like shell environment and the lesson data.

Please complete the setup below before the workshop. If you get stuck, stop and we will help you during the workshop.

  1. Download and install Git for Windows. This gives you both Git and Git Bash.
  2. Use the default installer options.
  3. Open Git Bash from the Start Menu.
  4. Run:
ls
pwd

You should see a list of files and folders, then the location of your current folder.

  1. Open Terminal. You can find it in /Applications/Utilities or by using Spotlight Search.
  2. If your terminal opens in zsh, that is okay. To switch to Bash for the lesson, run:
bash
  1. Test your shell by running:
ls
pwd

You should see a list of files and folders, then the location of your current folder.

  1. Open your terminal application.
  2. If your default shell is not Bash, run:
bash
  1. Test your shell by running:
ls
pwd

You should see a list of files and folders, then the location of your current folder.

Download the lesson data

  1. Download shell-lesson.zip.
  2. Move the file to your Desktop.
  3. Unzip or extract the file. You should end up with a folder on your Desktop called shell-lesson.

Test your setup

Open your shell and run:

ls
pwd

If you can type commands and see output, your shell is ready. During the workshop, we will use the shell-lesson folder on your Desktop.

If something goes wrong


OpenRefine

For this lesson you will use OpenRefine, a tool for cleaning and organizing data. It runs on your computer and opens in your web browser (no internet connection needed after launch).

Please install OpenRefine and confirm it opens before the workshop.

  1. Download OpenRefine from https://openrefine.org/.
  2. Unzip the downloaded file.
  3. Open the folder and double-click openrefine.exe.

A command window may appear. This is normal. After a few seconds, OpenRefine should open in your web browser.

If it does not open automatically, go to: http://127.0.0.1:3333/

  1. Download OpenRefine from https://openrefine.org/.
  2. Unzip the downloaded file.
  3. Open the folder and double-click the OpenRefine application.
  4. If prompted, use Control-click → Open to allow it to run.

OpenRefine should open in your web browser. If not, go to: http://127.0.0.1:3333/

Download the data

  1. Download the dataset: doaj-article-sample.csv
  2. Save it somewhere easy to find, such as your Desktop or Downloads folder.

During the workshop, we will open this file in OpenRefine.

Test your setup

OpenRefine should open in your browser and show a page with options like "Create Project" and "Open Project".

If something goes wrong


Git

Git is a version control system that helps you track changes to files and collaborate with others. In this workshop, we will also use GitHub to share code.

Please make sure Git is installed and that you can sign in to GitHub before the workshop.

Create a GitHub account

You will need a free GitHub account for this lesson. If you already have one, please make sure you can sign in before the workshop.

  1. Go to github.com and create an account.
  2. Verify your email address.
  3. Set up multifactor authentication if GitHub prompts you to do so.

You may also want to review GitHub's instructions for keeping your email address private .

  1. Git is installed as part of Git Bash. If you completed the Shell setup, you should already have Git.
  2. Open Git Bash.
  3. Run:
git --version

You should see a version number, such as git version 2.x.x.

  1. Open the Terminal application.
  2. Run:
git --version

If Git is not installed, you may be prompted to install the Command Line Tools. Follow the prompts to complete installation.

After installation, run git --version again to confirm it is working.

  1. Open a terminal.
  2. Run:
git --version

If Git is not installed, use your package manager. For example:

sudo apt-get install git

Then run git --version again to confirm installation.

Test your setup

Run git --version. You should see a version number. Also make sure you can sign in to your GitHub account.

If something goes wrong


Python

Python is a popular language for research computing. We will use Python through JupyterLab, which runs in a web browser.

To make setup easier, we recommend installing Python using Miniforge. This will also install JupyterLab and the packages we need for the workshop.

Please complete the steps below before the workshop. If you get stuck, stop and we will help you during the session.

Before you begin

Create a folder on your Desktop called lc-python. This will be your working folder for the lesson.

Desktop/
└── lc-python/
Windows note: OneDrive users
If your Desktop or Documents folders are synced with OneDrive, you may run into issues creating the Python environment.
  • We recommend working in your Desktop folder for this workshop.
  • If you see errors during setup, OneDrive may be the cause.
  • If possible, make sure your Desktop is available locally on your machine.

If setup fails and you're not sure why, stop and we will help you during the workshop.

  1. Download and install Miniforge from conda-forge.org/download.
  2. During installation, make sure to check Add Miniforge3 to my PATH environment variable.
  3. Download the carpentries_environment.yml file and save it inside your lc-python folder on your Desktop.
  4. Open Miniforge Prompt.
  5. Run the following commands:
cd Desktop\lc-python
conda env create -f carpentries_environment.yml
  1. Download the lesson data zip file and save it in lc-python.
  2. Unzip the file. This should create a data folder.
Desktop\
└── lc-python\
    ├── carpentries_environment.yml
    └── data\
  1. Test that everything works:
conda activate carpentries
jupyter lab

JupyterLab should open in your browser. You should see the data folder on the left.

  1. Download and install Miniforge from conda-forge.org/download.
  2. Create a folder on your Desktop called lc-python.
  3. Download the carpentries_environment.yml and save it in ~/Desktop/lc-python.
  4. Open Terminal and run:
cd ~/Desktop/lc-python
conda env create -f carpentries_environment.yml
  1. Download the data zip file and unzip it inside lc-python.
  1. Test setup:
conda activate carpentries
jupyter lab

You should see the data folder in JupyterLab.

  1. Install Miniforge from conda-forge.org/download.
  2. Create a folder ~/Desktop/lc-python.
  3. Download the carpentries_environment.yml into that folder.
  4. Run:
cd ~/Desktop/lc-python
conda env create -f carpentries_environment.yml
  1. Download and unzip the data zip file into lc-python.
  2. Test setup:
conda activate carpentries
jupyter lab

You should see the data folder in JupyterLab.

Important