University of Southern California - Library Carpentry

Online

May 06 - 08, 2025

10:00 am - 15:00 pm

Instructors: Allie Tatarian, Lorena Montoya Freire, Oghenere Salubi

Helpers: Joshua Hutchinson, Louise Smith, Minyoung Chung

If you have not yet registered, please use the following form to register: https://forms.gle/cELwgweTup65tu7h8

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/

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 06 - 08, 2025; 10:00 am - 15:00 pm 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 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.

Contact: Please email louisers@usc.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.


Surveys

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

Pre-workshop Survey

Post-workshop Survey


Schedule

Day 1

Before Starting Pre-workshop survey
10:00 Tidy Data for Librarians
12:00 Lunch break
13:00 OpenRefine
14:30 Afternoon break
14:45 Wrap-up
15:00 END

Day 2

10:00 The Unix Shell
12:00 Lunch break
13:00 Introduction to Git
14:30 Afternoon break
14:45 Wrap-up
15:00 Post-workshop survey

Day 3

10:00 Introduction to Python (1 - 5)
12:00 Lunch break
13:00 Introduction to Python (6 - 12)
14:30 Afternoon break
14:45 Wrap-up
15:00 END

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, we can use LibreOffice, Microsoft Excel, Gnumeric, OpenOffice.org, or other programs. Commands may differ a bit between programs, but general ideas for thinking about spreadsheets is the same.

For this lesson, if you don't have a spreadsheet program already, you can use [LibreOffice](https://www.libreoffice.org). It is a free, open source spreadsheet program.

Windows

Mac OS

Linux

The Bash Shell

Bash is a commonly-used shell that gives you the power to do simple tasks more quickly. Please find setup instructions in the lesson.

OpenRefine

OpenRefine is a tool to clean up and organize messy data. Please find instructions to install it and the data used in the lesson in the lesson.

Git

Git is a version control system that lets you track who made changes to what when and has options for easily updating a shared or public version of your code on https://github.com.

Follow the instructions on the lesson to install Git on your system.

You will need an account at github.com for parts of the Git lesson. Basic GitHub accounts are free. We encourage you to create a GitHub account if you don't have one already. Please consider what personal information you'd like to reveal. For example, you may want to review these instructions for keeping your email address private provided at GitHub. You will need a supported web browser.

Python

Python is a popular language for research computing, and great for general-purpose programming as well. Installing all of its research packages individually can be a bit difficult, so we recommend Conda-forge, an all-in-one installer.

Regardless of how you choose to install it, please make sure you install a Python version >= 3.9 (e.g. 3.11 is fine, 3.6 is not).

We will teach Python using the Google Colaboratory environment, which uses a Jupyter Notebook, and runs in a web browser (while logged into Google Drive, click New > More > Connect more apps, search for Google Colab, and install). For this to work you will need a reasonably up-to-date browser. The current versions of the Chrome, Safari and Firefox browsers are all supported (some older browsers, including Internet Explorer version 9 and below, are not).

  1. Open https://conda-forge.org/download/ with your web browser.
  2. Download the Miniforge for Windows installer
  3. Double click on the downloaded file (Something like, Minforge3-Windows-x86_64.exe)
  4. If you get a "Windows protected your PC" pop-up from Microsoft Defender SmartScreen, click on "More info" and select "Run anyway"
  5. Follow through the installer using all of the defaults for installation except make sure to check Add Miniforge3 to my PATH environment variable.
  6. Download the environment file. Save the file to your Downloads folder.
    (The following steps requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help at the workshop.)
  7. Search for the application "Miniforge Prompt", open it and run: conda env create -f .\Downloads\carpentries_environment.yml
  8. Close the terminal window.
  1. Open https://conda-forge.org/download/ with your web browser.
  2. Download the appropriate Miniforge installer for macOS
    (The following steps requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help at the workshop.)
  3. Open a terminal window and navigate to the directory where the executable is downloaded (e.g., cd ~/Downloads).
  4. Type
    bash Miniforge3-
    and then press Tab to autocomplete the full file name. The name of file you just downloaded should appear.
  5. Press Enter (or Return depending on your keyboard). You will follow the text-only prompts. To move through the text, press Spacebar. Type yes and press enter to approve the license. Press Enter (or Return) to approve the default location for the files. Type yes and press Enter (or Return) to prepend Miniforge to your PATH (this makes the Miniforge distribution the default Python).
  6. Download the environment file. Save the file to your Downloads folder.
  7. On the terminal run: conda env create -f ~/Downloads/carpentries_environment.yml
  8. Close the terminal window.
  1. Open https://conda-forge.org/download/ with your web browser.
  2. Download the appropriate Miniforge installer for Linux
    (The following steps requires using the shell. If you aren't comfortable doing the installation yourself stop here and request help at the workshop.)
  3. Open a terminal window and navigate to the directory where the executable is downloaded (e.g., `cd ~/Downloads`).
  4. Type
    bash Miniforge3-
    and then press Tab to autocomplete the full file name. The name of file you just downloaded should appear.
  5. Press Enter (or Return depending on your keyboard). You will follow the text-only prompts. To move through the text, press Spacebar. Type yes and press enter to approve the license. Press Enter (or Return) to approve the default location for the files. Type yes and press Enter (or Return) to prepend Miniforge to your PATH (this makes the Miniforge distribution the default Python).
  6. Download the environment file. Save the file to your Downloads folder.
  7. Search for the application "Miniforge Prompt", open it and run: conda env create -f ~/Downloads/carpentries_environment.yml
  8. Close the terminal window.