Home> The Carpentries Lessons

The Carpentries Lessons

The Carpentries hosts a large collection of lessons teaching a range of software and data skills for a variety of audiences. This collection combines lessons from our lesson programs, which each focus on a slightly different target audience and mission.

All lessons are self-contained, but many form part of a larger curriculum and are designed to have the most impact within that context. If a lesson particularly interests you as a teaching or learning resource, we recommend that you explore the rest of the curriculum and/or lesson program that it is drawn from. To help you decide which Lesson Program is best for you, please read the overview of our curricula.

All of our lessons have been collaboratively developed by members of The Carpentries community, and subsequently updated and polished based on extensive testing and feedback from Instructors.

Search lessons

Our lesson collection is extensive. Use the search bar to find a particular lesson (e.g. The Unix Shell) or lessons related to a general topic (e.g. data organisation). Use the filtering options to narrow down your results or browse lessons by category. Clear filters before performing a new search.

Request an accommodation

The Carpentries is committed to providing inclusive and accessible content that enables all individuals, including those with disabilities, to participate and engage fully. To request an accommodation for a Carpentries event, please visit our Diversity, Equity, and Inclusion Statement and fill out the accommodation request form provided.

Software Carpentry
English
Shell

The Unix Shell

An introduction to working with the shell, for researchers and others who want to learn how to automate repetitive tasks and easily combine smaller tasks into larger, more powerful workflows.
Automating tasks
Tracking versions
Software Carpentry
English
Git

Version Control with Git

An introduction to working with Git and GitHub, for researchers and others who want to learn how to track versions of their files and collaborate more easily on projects.
Collaborating
Software Carpentry
English
Python

Programming with Python

An introduction to Python built around data analysis, for researchers and others who want to learn how to write programs that perform reproducible analyses.
Programming
Software Carpentry
English
Python

Plotting and Programming in Python

An introduction to Python that places an emphasis on working with and visualising tabular data.
Data visualisation
Programming
Software Carpentry
English
R

Programming with R

An introduction to R built around data analysis, for researchers and others who want to learn how to write programs that perform reproducible analyses.
Programming
Software Carpentry
English
R

R for Reproducible Scientific Analysis

An introduction to R that places an emphasis on making data analysis reproducible, using examples of data processing and visualisation.
Data visualisation
Programming
Software Carpentry
Spanish
Shell

La Terminal de Unix

Software Carpentry
Spanish
Git

Control de versiones con Git

Software Carpentry
English
Make

Automation and Make

An introduction to automation of analysis workflows with Make, for researchers and others who want to perform multi-step analyses on the command line more reproducibly and efficiently.
Automating tasks
Software Carpentry
English
MATLAB

Programming with MATLAB

An introduction to MATLAB built around data analysis, for researchers and others who want to learn how to write programs that perform reproducible analyses.
Data visualisation
Programming
Software Carpentry
English
SQL, SQLite

Using Databases and SQL

An introduction to querying and managing relational databases with SQLite, for researchers and others who want to learn how to access, filter and summarise large vlumes of data.
Accessing data
Library Carpentry
English

Workshop Overview

A lesson to introduce Library Carpentry and summarise the lessons that can be taught in a workshop.
Library Carpentry
English
Regular expressions

Introduction to Working with Data (Regular Expressions)

An introduction to working with data using regular expressions, for people with library- and information-related roles who want to learn how to perform pattern-based searches in large bodies of text.
Pattern matching
Library Carpentry
English
Shell

The Unix Shell

An introduction to working with the shell, for people with library- and information-related roles who want to learn how to work with files and folders and automate repetitive tasks from the command line.
Automating tasks
Library Carpentry
English
OpenRefine

OpenRefine

An introduction to working with data in OpenRefine, for people with library- and information-related roles who want to learn how to clean, filter, and transform large volumes of tabular data.
Library Carpentry
English
Git

Introduction to Git

An introduction to working with Git and GitHub, for people with library- and information-related roles who want to learn how to track versions of their files and share their work in a public repository.
Tracking versions
Web publishing
Library Carpentry
English

SQL

An introduction to relational database management with SQLite, for people with library- and information-related roles who want to learn how to summarise and connect information in large volumes of data.
Library Carpentry
English

Tidy Data for Librarians

An exploration of good practices in data organisation and wrangling in spreadsheets, for librarians and those in information-related roles.
Library Carpentry
English

Introduction to Webscraping

(will be removed from LC lessons page)
Library Carpentry
English
Python

Introduction to Python for Librarians

An introduction to programming in Python for librarians with little or no previous programming experience who want to learn how to write programs that can automate the processing of large volumes of information. (alpha)
Library Carpentry
English
Regular expressions

Introduction to Data for Archivists

An exploration of good practices and useful skills for working with data, for archivists who want to learn how to work with data and to match patterns in large volumes of text. (alpha)
Library Carpentry
English
R

Introduction to R for Librarians

An introduction to programming in R for librarians with little or no previous programming experience who want to learn how to write programs to analyse large volumes of data and visualise the results. (alpha)
Data Carpentry
English
Python

Foundations of Astronomical Data Science

An introduction to core concepts necessary to efficiently study the ever-growing datasets developed in modern astronomy. This curriculum is aimed at researchers and others, who want to perform database operations (SQL queries, joins, filtering) and to create publication-quality visualisations with astronomy data.
Data visualisation
Accessing data
Programming
Data Carpentry
English

Ecology Workshop Overview

A lesson to introduce the Data Carpentry Ecology curriculum.
Data Carpentry
English
Spreadsheets

Data Organization in Spreadsheets for Ecologists

An exploration of good practices in data organisation and wrangling in spreadsheets, aimed at ecologists who want to learn how to prepare tabular data for downstream analysis.
Data organisation
Data Carpentry
English
OpenRefine

Data Cleaning with OpenRefine for Ecologists

An introduction to the OpenRefine tool, aimed at ecologists who want to clean and format data effectively and automatically track the changes they make.
Data Carpentry
English
SQL, SQLite

Data Management with SQL for Ecologists

An introduction to relational databases and the SQL language that can be used to query them, for ecologists who want to store and access data effectively.
Data visualisation
Accessing data
Data Carpentry
English
R

Data Analysis and Visualization in R for Ecologists

An introduction to R designed for participants with no programming experience, aimed at ecologists who want to load, process, summarise, and visualise data.
Data visualisation
Programming
Data Carpentry
English
Python

Data Analysis and Visualization in Python for Ecologists

An introduction to Python designed for participants with no programming experience, aimed at ecologists who want to load, process, summarise, and visualise data.
Data visualisation
Programming
Data Carpentry
Spanish
Python

Análisis y visualización de datos usando Python

(beta)
Data Carpentry
English

Genomics Workshop Overview

A lesson to introduce the Data Carpentry Genomics curriculum.
Data Carpentry
English
Spreadsheets

Project Organization and Management for Genomics

An introduction to project and data management, for researchers who want to learn how to access, prepare, organise, and store large volumes of genomic data.
Data organisation
Data Carpentry
English
Shell

Introduction to the Command Line for Genomics

An introduction to working with the shell, for researchers who want to learn how to navigate, organise, and process genomic data from the command line.
Automating tasks
Data Carpentry
English
Shell

Data Wrangling and Processing for Genomics

A walkthrough of a typical variant calling pipeline, for researchers who want to create a genomics analysis pipeline in the shell.
Data organisation
Data Carpentry
English
Shell

Introduction to Cloud Computing for Genomics

An introduction to the fundamental concepts of cloud computing, for researchers who want to learn how to access and use on-demand computing resources to fit their needs.
Accessing remote computers
Data Carpentry
English
R

Intro to R and RStudio for Genomics

An introduction to using R for novice programmers who want to use the language to perform reproducible analyses of tabular genomics data, and visualise the results. (alpha)
Data visualisation
Programming
Data Carpentry
English

Geospatial Workshop Overview

A lesson to introduce the Data Carpentry Geospatial curriculum.
Data Carpentry
English

Introduction to Geospatial Concepts

An overview of the core concepts of geospatial data, for researchers who want to start working with raster or vector data.
Data Carpentry
English
R

Introduction to R for Geospatial Data

An introduction to using R for novice programmers who want to use the language to load and manipulate tabular data.
Programming
Data Carpentry
English
R

Introduction to Geospatial Raster and Vector Data with R

An introduction to working with spatial data in R, for researchers and others who want to open, process, summarise, and plot vector and raster-format spatial data.
Data visualisation
Programming
Data Carpentry
English

Social Science Workshop Overview

A lesson to introduce the Data Carpentry Social Science curriculum.
Data Carpentry
English
Spreadsheets

Data Organization in Spreadsheets for Social Scientists

An exploration of good practices in data organisation and wrangling in spreadsheets, aimed at social scientists who want to learn how to prepare tabular data for downstream analysis.
Data organisation
Data Carpentry
English
OpenRefine

Data Cleaning with OpenRefine for Social Scientists

An introduction to the OpenRefine tool, aimed at social scientists who want to clean and format data effectively and automatically track the changes they make.
Data Carpentry
English
R

Data Analysis and Visualization with R for Social Scientists

An introduction to R designed for participants with no programming experience, aimed at social scientists who want to load, process, summarise, and visualise data.
Programming
Data visualisation
Data Carpentry
English
Python

Data Analysis and Visualization with Python for Social Scientists

An introduction to Python designed for participants with no programming experience, aimed at social scientists who want to load, process, summarise, and visualise data. (alpha)
Programming
Data visualisation
Data Carpentry
English
SQL

Data Management with SQL for Social Scientists

An introduction to relational databases and the SQL language that can be used to query them, for social scientists who want to store and access data effectively. (alpha)
Data Carpentry
English
Python

Image Processing with Python

An introduction to the core concepts and fundamental steps of image data processing, for researchers and others who want to use Python to programmatically segment images and extract individual objects for downstream analysis. (beta)
Data visualisation
Image Processing
Programming
Data Carpentry
English

Introduction to Stata for Economics

(alpha)
    Feedback on this page? Contact us
    Last edited: 18 November, 2024

    Edit this page on GitHub