Library Carpentry #1

New York University


November 5-6, 2020

10am - 4:30pm

Instructors: Vicky Steeves, Andrew Battista, Nick Wolf, Alex Provo

Helpers: Marii Nyrop

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: This training will take place online. The instructors will provide you with the information you will need to connect to this meeting.

When: November 5-6, 2020. Add to your Google Calendar.

Requirements: Participants must bring a laptop 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 dedicated to providing a positive and accessible learning environment for all. Please notify the instructors in advance of the workshop if you require any accommodations or if there is anything we can do to make this workshop more accessible to you.

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


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
10:00 Jargon Busting + Computational Thinking with Vicky
10:45 Morning break
11:00 Intro to Working with Data (Regular Expressions) with Vicky
12:00 Lunch break
13:00 The Unix Shell with Andrew
14:30 Afternoon break
15:00 The Unix Shell Cont'd
16:30 END

Day 2

10:00 Intro to Python with Nick
11:00 Morning break
11:15 Intro to Python Cont'd
12:00 Lunch break
13:00 Intro to Webscraping with Alex
14:30 Afternoon break
15:00 Intro to Webscraping Cont'd
16:30 END
16:30 Post-workshop survey


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

The Unix Shell

  • Files and Directories
  • History and Tab Completion
  • Counting and Sorting Contents in Files
  • Pipes and Redirection
  • Mining or Searching in Files
  • Reference...

Programming in Python

  • Using Libraries
  • Data types & variables
  • Subsetting Data
  • Creating and Using Functions
  • Loops and Conditionals
  • Reference...

Introduction to Webscraping

  • Web scraping terms
  • Getting webcontent via XPATH
  • Scraping with browser extensions
  • Scraping with Python
  • 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.

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.

The Bash Shell

You have the option of doing this lesson in-browser through NYU's JupyterHub. Log-in with your netID and password here, and you will be able to work through the lessons in a UNIX terminal:

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


You have the option of doing this lesson in-browser through NYU's JupyterHub to avoid having to install Python and associated tools on your local computer. Log-in with your netID and password here, and you will be able to work through the lessons in a Jupyter Notebook in minutes:

The setup instructions to run the lesson locally can be found at the workshop overview site, as well as an additional Python library required by the web scraping lesson, found at that lesson's overview site.