Purdue Library Carpentry

Purdue University

March 16-17, 2020

9:00 am - 5:00 pm

Instructors: Kim Pham, Thomas Guignard

Helpers: Will Ledbetter, Ashish Ashish, Trevor Burrows

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: Walc, Room 1121, 340 Centennial Mall Dr, West Lafayette IN 47907-2124. Get directions with OpenStreetMap or Google Maps.

When: March 16-17, 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 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 ftgerrish@purdue.edu or ahutchcr@purdue.edu for more information.


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
09:00 Introduction and brief icebreaker
09:00 Tidy Data
10:30 Morning break
12:00 Lunch break
13:00 Python - Part 1
14:30 Afternoon break
16:00 Wrap-up
16:30 END

Day 2

09:00 Python - Part 2
10:30 Morning break
12:00 Lunch break
13:00 Web Scraping
14:30 Afternoon break
16:00 Wrap-up
16:30 Post-workshop survey

Syllabus

Tidy Data

  • Using spreadsheets for data wrangling
  • Formatting data tables
  • Dates as data
  • Quality control & data manipulation
  • Exporting data
  • Reference...

Python - Part 1

  • Getting Started
  • Variables and Assignment
  • Data types and Conversion
  • Built-in functions and Help
  • Libraries
  • Reference...

Python - Part 2

  • Recap
  • Lists
  • For Loops
  • Writing Functions
  • Variable Scope
  • Conditionals
  • Programming style and wrap-up
  • Reference...

Web Scraping

  • Introduction: What is Web Scraping?
  • Selecting content with XPath
  • Manually scrape using browser extensions
  • Web scraping using Python and Scrapy

Setup

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.

The Bash Shell

Some of the tools we will be using during this workshop are accessed through your computer's command-line interface. Specifically, we will use the Bash shell. Please refer to these setup instructions to get started (you can ignore the bit about data files).

Spreadsheet editor

We will need a spreadsheet editor for the first part of the workshop. If you already have Microsoft Excel or Apple Sheets on your computer, you can use that. If you don't, check these setup instructions for an alternative.

Python (via Anaconda)

Python is a general purpose programming language that supports rapid development of scripts and applications. Please find instructions to install Python using the Anaconda installed used in the lesson.

Web scraping tools

For the Web scraping lesson, we will start by using the Chrome web browser with the Scraper extension. Then we will use Python with the Scrapy library. Refer to the lesson setup instructions for details.