Instructor Training: Suggested Lessons for Teaching Demonstrations

Please see the tables below for recommendations about choosing a lesson for your teaching demonstration. If you would like to use a lesson that is not listed here, please contact the Instructor Trainer leading your teaching demonstration or (if no one is listed for your session) email team@carpentries.org. Note that while a trainee can choose the lesson to teach from, the Trainer leading the demo session will choose the specific episode at the time of the demo session.

If the chosen episode is very short and finishes in less than five minutes, the trainee can continue on to the next episode in that lesson.

Data Carpentry: Ecology

Lesson Good Starting Points Avoid Notes
Data Organization in Spreadsheets any episode none  
Data Cleaning with OpenRefine Working with OpenRefine any episode The intro episode has no live coding.
Other episodes have dependencies.
Data Analysis and Visualization in R * Introduction to R
* Starting with Data
* Before We Start
* Manipulating Data
* Data Visualization with ggplot2
* SQL Databases and R
Before We Start has no live coding.
Manipulating Data and Data Visualization with ggplot2 have dependencies.
SQL and RSQLite are taught less frequently.
Data Management with SQL any episode Databases using SQL Live coding starts in the middle of the episode to avoid.
Data Analysis and Visualization in Python * Short Introduction to Programming
* Starting with Data
* Indexing, Slicing, and Subsetting
* Data Types and Formats
* Combining DataFrames with Pandas
* Data Workflows and Automation
any episode Before we Start has no live coding.
Later episodes have dependencies.

Data Carpentry: Genomics

If you are an instructor in training and wish to use lessons from Data Carpentry’s Genomics curriculum for your teaching demo, please read these instructions to be sure you are prepared. You must follow these steps before your teaching demo, or you will be asked to reschedule.

Lesson Good Starting Points Avoid Notes
Project Organization and Management for none all lessons Discussion based. No live coding.
Introduction to the Command Line all episodes none If using Introducing the Shell begin with cd shell_data
Data Wrangling and Processing * Assessing Read Quality
* Trimming and Filtering
* Automating a Variant Calling Workflow
any episode For (Assessing Read Quality) begin with gunzip SRR2584863_1.fastq.gz
Introduction to Cloud Computing * Logging onto the Cloud
* Fine tuning your Cloud Setup
any episode Have trainees teach the version “AWS_UNIX”.
Data Analysis and Visualization in R none all episodes This lesson is not yet stable.

Data Carpentry: Social Sciences

Lesson Good Starting Points Avoid Notes
Data Organization in Spreadsheets * Dates as Data
* Quality Assurance
* Introduction
* Formatting Data Tables in Spreadsheets
* Formatting problems
* Exporting data
Lessons listed to avoid have no live coding.
Data Cleaning with OpenRefine Working with OpenRefine any other episode Introduction has no live coding.
Later episodes have dependencies.
Data Analysis and Visualization with R any other episode * Before We Start
* Data Visualization with ggplot2
Before We Start has no live coding.
Data Visualization with ggplot2 has dependencies.

Data Carpentry: Geospatial

Lesson Good Starting Points Avoid Notes
Project Organization and Management none all episodes This lesson has no live coding.
Do not use for teaching demos.
Introduction to R for Geospatial Data any episode none  
Introduction to Raster and Vector Data with R * Intro to Raster Data in R
* Reproject Raster Data in R
* Work with Multi-Band Rasters in R
* Open and Plot Shapefiles in R
* Handling Spatial Projection & CRS in R
* Convert from a .csv to a Shapefile in R
* Raster Time Series Data in R
any other episode Many episodes rely on data from previous episodes.
Trainees may need extra time to set up their environment.

Library Carpentry

Lesson Good Starting Points Avoid Notes
Library Carpentry: The Shell Lesson * Navigating the filesystem
* Working with files and directories
* Automating the tedious with loops
* Counting and mining with the shell
* Working with free text
What is the shell? What is the shell? has no live coding.
Library Carpentry: OpenRefine Importing data into OpenRefine any other episode Introduction to OpenRefine has no live coding.
Later episodes have dependencies.
Library Carpentry: Introduction to Working with Data (Regular Expressions) No episodes Avoid all episodes. Episodes are built through exercises without an obvious live-coding component that is not explaining the solution to the exercise.

Software Carpentry

Lesson Good Starting Points Avoid Notes
The Unix Shell any other episode Introducing the Shell Introducing the Shell has no live coding.
Version Control with Git * Setting up Git
* Creating a Repository
* Tracking Changes
any other episode Automated Version Control has no live coding.
Later episodes have dependencies.
Programming with Python any other episode Debugging Debugging has no live coding.
Plotting and Programming in Python any other episode Variable Scope
Programming Style
Variable Scope is very short and more conceptual/exercises than live coding
Programming Style is brief, and mostly concepts/excercises more than live coding.
R for Reproducible Scientific Analysis any other episode Splitting and Combining Data Frames with plyr
Writing Good Software
The plyr package is largely deprecated.
Writing Good Software has no live coding.
Programming with R * Analyzing Multiple Data Sets
* Loops in R
* Making Choices
* Creating Functions
* Best Practices for Writing R Code
* Reading and Writing CSV Files
The episodes to avoid have dependencies.
Using Databases and SQL any other episode Data Hygiene Data Hygiene has no live coding.
Automation and Make * Introduction
* Makefiles
any other episode Later episodes have dependencies.
Version Control with Mercurial * Configuring Mercurial
* Creating a Repository
* Tracking Changes to Files
any other episode Automated Version Control has no live coding.
Later episodes have dependencies.

Lecciones en español

Lesson Good Starting Points Avoid Notes
La Terminal de Unix any other episode Introducción a la Terminal Introducción a la Terminal no tiene programando en vivo.
Control de versiones con Git * Configurando Git
* Creando un repositorio
* Rastreando Cambios
cualquier otro episodio Control Automatizado de Versiones no tiene programando en vivo.
Los episodios posteriores tienen dependencias.
R para Análisis Científicos Reproducibles cualquier otro episodio Escribiendo buen software Escribiendo buen software no tiene programando en vivo.
Análisis y visualización de datos usando Python * Breve introducción a la Programación en Python
* Comenzando con datos
* Indexación, segmentación y creación de subconjuntos
* Data Types and Formats
* Combinando DataFrames con Pandas
* Flujos de trabajo y automatización
cualquier otro episodio Antes de comenzar has no live coding.
Los episodios posteriores tienen dependencias.