Library Carpentry at the University of Louisville

University of Louisville

Dec 12-13 2019

9:00AM - 5:00PM

Instructors: David Yakobovitch, Chuck McAndrew

Helpers: Rebecca Morgan, Andrew Huff, David King, Carrie Daniels, Sarah Drerup, Terri Holtze, Sue Finley, Randy Kuehn, Rebecca Pattillo

General Information

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: W102-103 Ekstrom Library, University of Louisville, 2301 S. Third Street, Louisville, KY 40292. Get directions with OpenStreetMap or Google Maps.

When: Dec 12-13 2019. Add to your Google Calendar.

Requirements: Specific software packages (listed below) will be installed on the classroom computers but participants – especially those from outside University Libraries – may want to bring a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) with that software installed..

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.

Accessibility: We are committed to making this workshop accessible to everybody. The workshop organizers have checked that:

Materials will be provided in advance of the workshop and large-print handouts are available if needed by notifying the organizers in advance. If we can help making learning easier for you (e.g. sign-language interpreters, lactation facilities) please get in touch (using contact details below) and we will attempt to provide them.

Contact: Please email for more information.


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

Pre-workshop Survey

Post-workshop Survey


Day 1

Before Starting Pre-workshop survey
09:00 Intro to Library Carpentries/Jargon Busting
09:30Data Intro
10:30 Morning break
10:45Data Continued
12:00 Lunch break
13:00 SQL
14:30 Afternoon break
13:00 SQL Continued
16:30 Wrap-up
17:00 END

Day 2

09:00 OpenRefine
10:30 Morning break
10:45 OpenRefine Continued
12:00 Lunch break
13:00 Git Intro
14:30 Afternoon break
14:45 Git Continued
16:00 Wrap-up
16:30 Post-workshop survey

We will use this collaborative document for chatting, taking notes, and sharing URLs and bits of code.


Jargon Busting, A Computational Approach, Introduction to Working with Data

  • Intro to Library Carpentry
  • Jargon Busting
  • A Computational Approach
  • Reference...

Introduction to Working with Data (Regular Expressions)

  • Regular Expressions
  • Matching and Extracting Strings
  • Reference...


  • Introduction to SQL
  • Selecting and Sorting Data
  • Filtering
  • Aggregating and calculating values
  • Ordering and commenting
  • Joins and aliases
  • Saving queries
  • Database Design
  • Other Database Tools
  • Reference...


  • Introduction to OpenRefine
  • Importing Data
  • Basic Functions
  • Advanced Functions
  • Reference...

Introduction to Git

  • Creating a repository
  • Configuring Git
  • Recording Changes to Files: add, commit, ...
  • Viewing State Changes with status
  • Working on the Web: clone, pull, push, ...
  • Where to Host Work, and Why
  • Reference...


To participate in a Library Carpentry workshop, you will need access to the software 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.


This Library Carpentry lesson introduces librarians to relational database management system using SQLite. At the conclusion of the lesson you will: understand what SQLite does; use SQLite to summarise and link data. Please find setup instructions in the lesson.


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

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

You will need an account at 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.


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.