Community Developed Lessons

Browse the list of Community Developed Lessons

The Carpentries community is commited to a collaborative and open process for lesson development and to sharing teaching materials. We provide two avenues for community members to share lesson materials - The Carpentries Incubator and The CarpentriesLab.

The Carpentries Incubator is for:

The Carpentries Lab is for:

People already familiar with The Carpentries teaching practices can teach Carpentries Incubator or CarpentriesLab lessons in meetups, in classes, or as complements to a “standard” 2-day Carpentries workshop. These lessons can also be used by independent learners, outside of workshops.

Looking for a list of our core lessons? Follow the links below.

The Carpentries Incubator

The Carpentries Incubator is a place for Carpentries community members to share Carpentries-style teaching materials at all stages of development, to collaborate on lesson development, and receive feedback from other community members.

Lessons in The Carpentries Incubator are developed and supported by community members and are not officially endorsed by The Carpentries. We encourage you to browse the Incubator lessons for materials that meet your needs and to use these materials freely (all lessons are licensed CC-BY 4.0). However, we are unable to offer workshops teaching these lessons upon request.

If you are interested in developing or submitting a lesson to The Carpentries Incubator, learn how at our GitHub Repository. Please read the information on our Development of Lessons page if you would like to contribute to the development of a lesson already present in The Carpentries Incubator. You can also find a list of issues in need of attention on the Help Wanted page.

The CarpentriesLab

The CarpentriesLab is a place for sharing high-quality, peer-reviewed lessons that follow best practices in pedagogy and the general teaching practices used in Carpentries workshops.

Lessons in The CarpentriesLab have been peer-reviewed and are vetted by The Carpentries as high-quality resources. We encourage you to browse the Lab lessons for materials that meet your needs and to use these materials freely (all lessons are licensed CC BY 4.0). However, we are unable to offer workshops teaching these lessons upon request.

At this time, we are not accepting lesson submissions to The CarpentriesLab. If you are interested in having a lesson reviewed for inclusion in The Lab, please submit it first to The Incubator through our GitHub Repository.

Lessons in The Carpentries Incubator

From a Spreadsheet to a Database

Extra Unix Shell Material

Programming with GAP

Python Testing and Continuous Integration

SageMath Software Carpentry Lesson

Lesson materials for an Introduction to High Performance Computing in the tradition of Software Carpentry

Version Control with Git

Python for Humanities

Data Organization in Spreadsheets for Humanities

SQL for Humanities

Open Refine for Humanities

Python for Business

Packaging and Publishing with Python

Git Using RStudio

Introduction to the Internet of Things (IoT)

Statistical Inference for Biology

Learn Deep Learning with Python

Interactive Maps in the Jupyter Notebook

Working with EEGLAB and BIDS-EEG

fMRI Imaging Analysis

Processing data with EEGLAB

Introduction to Conda for (Data) Scientists

A Carpentry style lesson on machine learning with Python and scikit-learn.

Introduction to Geospatial Raster and Vector Data with Python

Introduction to dMRI

Reproducible Computational Environments using Containers

Data Science For Practicing Clinicians

Introduction to Jupyter notebooks

Introduction to Workflows with Common Workflow Language

Introduction to MRI and BIDS

One-day Snakemake workshop.

Carpentry-style lesson on how to use R, RStudio together with git & Github to promote Open Science practices.

Life Sciences Workshop

Lesson: Introduction to TEI (under development)

R for Survival Analysis

Lesson on Parallel Programming in Python

Material for a lesson introducing PyMARC

GPU Speedups in Python

Building Websites with Jekyll & GitHub Pages.

EukRef PR2

R for Artists

Metagenomica

Data Harvesting for Agriculture

An introduction to singularity

Data Carpentry for Camera Traps

Bioconductor data science introduction

Introduction to the Bioconductor project

Analysis and Interpretation of Bulk RNA-Seq Data using Bioconductor

A lesson exploring the Julia language

SQL for Business

GPU Programming lesson.

Text Analysis with Python

An Introduction to Java Programming

A lesson teaching analysis of microbial amplicon data

Statistical analysis in R for public health.

Comparison of data objects in R

Statistical thinking for public health

Simple linear regression for public health

Multiple linear regression for public health

Logistic regression for public health

Linear mixed effects modelling for public health

Workflow management with Nextflow and nf-core

Introduction to Machine Learning with Python

Introduction to Machine Learning with R

Data driven research workflows in Julia

Flight data analysis to detect features relevant to the continual improvement of safety.

Introduction to AI for GLAM

Typesetting in LaTeX

Novice Spyder

Data management and analytic pipelines for engineers

Programming with Java

Frictionless Data for Agriculture Research

Introduction to QFeatures, Bioconductor data object for proteomics

Making Code Citable

Single-cell RNA Sequencing Data Analysis

Relational Databases for Genealogists and Family Historians

Structural Neuroimaging Analysis in Python

Good Enough Practices in Scientific Computing

Supervised Learning with Python

Deploying Applications on Kubernetes

Introduction to Snakemake for Bioinformatics

High-Dimensional Statistics

FAIR in (biological) practice


Lessons in The CarpentriesLab

Python for Atmosphere and Ocean Scientists


List of Community Developed Lessons by Topic

Agriculture

Ants

Arduino

Atmospheric science

Bids

Bids eeg

Binder

Bioconductor

Bioinformatics

Biology

Bulk rna seq

Business

Camera traps

Carpentry

Carpentry lesson

Computational algebra

Computing

Conda

Containers

Cwl

Dask

Data

Data analysis

Data cleaning

Data handling

Data management

Data organization

Data science

Data visualisation

Data visualization

Data wrangling

Database

Deep learning

Deep neural networks

Diffusion mri

Digital humanities

Dipy

Discrete mathematics

Dmri

Docker

Dplyr

Dwi

Eeg

Eeg analysis

Eeg data

Eeg signals

Eeglab

Engineering

English

Eukref

Fair

Flight data

Fmri

Fmri analysis

Fmri data analysis

Frictionless data

Fsl

Gameofthrones

Gap

Generative art

Geoscience

Geospatial

Geospatial data

Ggplot2

Git

Github

Github pages

Glam

Gpu

Hacktoberfest

High dimensional statistics

Hpc carpentry

Ide

Internet of things

Ipyleaflet

Java

Jekyll

Julia

Julia language

Jupyter notebook

Jupyterlab

K8s

Kubernetes

Latex

Lesson gpu programming

Life sciences

Machine learning

Marc

Matlab

Medicine

Metagenomics

Microbial ecology

Mri

Neural network

Neuroimaging

Next generation sequencing

Nextflow

Nf core

Nilearn

Novice

Novices

Open science

Openrefine

Packaging

Parallel programming

Programming

Programming language

Proteomics

Publishing

Pymarc

Python

Qfeatures

Qgis

R

Relational databases

Rna seq analysis

Rstudio

Sagemath

Scripting

Scrna seq

Shell

Single cell

Single cell rna seq

Singularity

Sklearn

Snakemake

Software carpentry

Software citation

Spreadsheets

Spyder

Sql

Statistics

Supervised learning

Survival analysis

Tei

Text analysis

Text encoding

Tidyr

Tractography

Typesetting

Version control

Versioning

Workflow management

Workflows

Xml

List of Lessons

List of Lesson Topics

Back to the top

Edit this page on Github