Earth Data Science Courses & Workshops

Learn how you can integrate earth science understanding and data science skills to better understand Earth by working through free, self-paced courses online. In the Earth Analytics course, explore how the R programming language and R Markdown is used to work with time series, GIS, remote sensing and social media data. No previous programming experience is required! Stay tuned for a second course build in Python using all open source tools!

All Earth Data Science courses, are developed and taught as a part of the professional Certificate and Masters program in Earth Data Analytics offered by Earth Lab at the University of Colorado - Boulder.

Current Courses

Earth Data Science Course Modules

Want to improve your earth data science skills? Complete a set of short, self-paced technical lessons that together create full courses. Following the materials available online for each module, you will learn how to perform a specific workflow using a specific tool that is commonly used in the earth data science field.

Intro to Writing Custom Functions in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 11 Aug 2019

This tutorial walks you through defining custom functions and applying them to data structures in Python. read more. Last updated: 10 Sep 2018

lessons: 3, presentations 0

Intro to Writing Conditional Statements in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 11 Aug 2019

This tutorial walks you through implementing another key strategy for writing DRY (i.e. Do Not Repeat Yourself) code in Python: conditional statements. read more. Last updated: 10 Sep 2018

lessons: 2, presentations 0

Intro to Writing Loops in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 11 Aug 2019

This tutorial walks you through implementing a key strategy for writing DRY (i.e. Do Not Repeat Yourself) code in Python: loops. read more. Last updated: 10 Sep 2018

lessons: 3, presentations 0

Intro to Working With Pandas Dataframes in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 02 Aug 2019

This tutorial walks you through importing tabular data (.csv) to pandas dataframes as well as summarizing, plotting, and running calculations on pandas dataframes. read more. Last updated: 10 Sep 2018

lessons: 4, presentations 0

Export Raster Data with Rasterio

This teaching module is a part of the earth-analytics-python course. Last taught: 04 Oct 2018

In this module you will learn how to export raster data with rasterio in python. read more. Last updated: 16 Oct 2018

lessons: 1, presentations 0

An Overview of the Impacts and Study of Wildfire

This teaching module is a part of the earth-analytics-python course. Last taught: 04 Oct 2018

In this module, you will learn about how scientists study the impacts of wildfire using field surveys and remote sensing. You will also learn about the Cold Springs wildfire, which burned 528 acres near Nederland,... read more. Last updated: 23 Oct 2018

lessons: 3, presentations 0

Git/GitHub For Collaboration

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 13 Aug 2018

This tutorial teaches you how to undo changes using Git and helps you practice collaborating with others on GitHub.com. read more. Last updated: 10 Sep 2018

lessons: 2, presentations 0

Practice Working With Data Structures in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 07 Aug 2018

This tutorial provides an opportunity to practice working with commonly used Python data structures for scientific data: lists, numpy arrays, and pandas dataframes. read more. Last updated: 10 Sep 2018

lessons: 1, presentations 0

Intro to Working With Numpy Arrays in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 01 Aug 2018

This tutorial teaches you to work with a commonly used data structure in Python for scientific data: numpy arrays. read more. Last updated: 10 Sep 2018

lessons: 3, presentations 0

Git/GitHub Workflow For Version Control

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 25 Jul 2018

This tutorial helps you get started with version control to track changes to your files and share your files with others using Git and GitHub. read more. Last updated: 08 Aug 2018

lessons: 5, presentations 0

Intro to Working With Variables and Lists in Python

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 23 Jul 2018

This tutorial teaches you how to create and manipulate variables and lists in Python. You will also learn how to plot data using the matplotlib package. read more. Last updated: 10 Sep 2018

lessons: 4, presentations 0

Get Started with Open Reproducible Science With Bash, Git, and Jupyter Notebook

This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 17 Jul 2018

This tutorial helps you get started with open reproducible science and introduces you to tools used in open reproducible science workflows including Bash/Shell, Git and Github.com, and Python in Jupyter Notebook. read more. Last updated: 10 Sep 2018

lessons: 4, presentations 0

Use Vector Spatial data in Open Source Python - Geopandas

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This tutorial covers working with spatial data in vector format in Python. You will learn how to import, manipulate and map shapefile data in python. Finally you will learn how to reproject vector data into... read more. Last updated: 08 Oct 2018

lessons: 9, presentations 0

Custom Plots in Python

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This tutorial covers the basics of creating custom plot legends in Python read more. Last updated: 08 Oct 2018

lessons: 4, presentations 0

Get to Know the Python programming language

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This module introduces the Python scientific programming language. You will work with precipitation and stream discharge data for Boulder County to better understand the Python syntax, various data types and data import and plotting. read more. Last updated: 08 Oct 2018

lessons: 7, presentations 0

Use Time Series Data in Python Pandas

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This lesson series covers working with time series data in Python. You will learn how to handle date fields in Python to create custom plots of time series data using matplotlib. read more. Last updated: 08 Oct 2018

lessons: 7, presentations 0

Work with Lidar Raster Data in Python

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This module introduces the raster spatial data format as it relates to working with lidar data in Python. Learn how to to open, crop and classify raster data in Python. read more. Last updated: 30 Oct 2018

lessons: 8, presentations 0

Intro to Lidar Data

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This tutorial covers the basic principles of LiDAR remote sensing and the three commonly used data products: the digital elevation model, digital surface model and the canopy height model. Finally it walks through opening lidar... read more. Last updated: 25 Sep 2018

lessons: 4, presentations 0

hw-lidar

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This module covers how overlay rasters to create visualizations and how to make interactive plots. read more. Last updated: 25 Sep 2018

lessons: 3, presentations 0

Understand Disturbance with Data - Flooding and Erosion

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This module uses time series data to explore the impacts of a flood. Learn how to use Google Earth imagery, NOAA precipitation data and USGS stream flow data to explore the 2013 Colorado floods. read more. Last updated: 25 Sep 2018

lessons: 3, presentations 0

Open Science Python

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

This module reviews why open science and best practices in python. read more. Last updated: 09 Feb 2018

lessons: 6, presentations 0

An Overview of the 2013 Floods in Colorado, USA

This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018

In this module you will learn about the causes and effects of floods as seen during the 2013 Colorado floods. You will learn how streamflow, precipitation, drought, and remote sensing data are used to better... read more. Last updated: 08 Oct 2018

lessons: 4, presentations 0

Introduction to using Twitter Social media data in R

This teaching module is a part of the earth-analytics course. Last taught: 19 Apr 2017

This module explores the use of social media data - specifically Twitter data to better understand the social impacts and perceptions of natural disturbances and other events. Working with social media requires the use of... read more. Last updated: 10 Jan 2018

lessons: 6, presentations 0

Introduction to programmatic data access in R

This teaching module is a part of the earth-analytics course. Last taught: 05 Apr 2017

In this module, you learn various ways to access, download and work with data programmatically. These methods include downloading text files directly from a website onto your computer and into R, reading in data stored... read more. Last updated: 10 Jan 2018

lessons: 8, presentations 0

Don't Repeat Yourself: Remove Repetition in Your Code Using Functions in R.

This teaching module is a part of the earth-analytics course. Last taught: 08 Mar 2017

This module will overview the basic principles of DRY - don't repeat yourself. It will then walk you through incorporating functions into your scientific programming to increase efficiency, clarity, and readability. read more. Last updated: 10 Jan 2018

lessons: 8, presentations 0

Clouds, shadows & cloud masks in R

This teaching module is a part of the earth-analytics course. Last taught: 01 Mar 2017

In this module you will learn more about dealing with clouds, shadows and other elements that can interfere with scientific analysis of remote sensing data. read more. Last updated: 10 Jan 2018

lessons: 6, presentations 0

Refine Plots & Add Variables to Rmarkdown Reports

This teaching module is a part of the earth-analytics course. Last taught: 01 Mar 2017

This tutorial set covers some basic things you can do to refine your plots in Rmarkdown document. It covers plotting in grids, adding titles to plotRGB() plots and refining the width and height of plots... read more. Last updated: 10 Jan 2018

lessons: 5, presentations 0

MODIS, Landsat and the Normalized Burn Ratio Index (NBR) in Python

This teaching module is a part of the earth-analytics-python course. Last taught: 01 Mar 2017

In this module you will learn more about dealing with clouds, shadows and other elements that can interfere with scientific analysis of remote sensing data. read more. Last updated: 06 Nov 2018

lessons: 4, presentations 0

Clouds, shadows & cloud masks in Python

This teaching module is a part of the earth-analytics-python course. Last taught: 01 Mar 2017

Cloud cover can impact the quality of remote sensing data and in turn your analysis. Learn how to handle clouds in Landsat and MODIS remote sensing data. read more. Last updated: 06 Nov 2018

lessons: 2, presentations 0

R Source Functions - Efficient Programming

This teaching module is a part of the earth-analytics course. Last taught: 22 Feb 2017

Learn how to source a function in R by saving the function in another R script. read more. Last updated: 10 Jan 2018

lessons: 1, presentations 0

Multispectral imagery in R - Fire & Remote Sensing Data

This teaching module is a part of the earth-analytics course. Last taught: 22 Feb 2017

In this module, you will learn how to use multispectral imagery, a type of remote sensing data, to better understand changes in the landscape and how to calculate NDVI using various multispectral datasets You will... read more. Last updated: 10 Jan 2018

lessons: 6, presentations 0

Uncertainty and Metadata

This teaching module is a part of the earth-analytics course. Last taught: 15 Feb 2017

In this module, you will learn the concept of uncertainty as it relates to both remote sensing and other data. You will also explore some metadata to learn how to understand more about your data.... read more. Last updated: 10 Jan 2018

lessons: 3, presentations 0

Spatial Data in R and Remote Sensing Uncertainty

This teaching module is a part of the earth-analytics course. Last taught: 15 Feb 2017

This tutorial covers the basic principles of LiDAR remote sensing and the three commonly used data products: the digital elevation model, digital surface model and the canopy height model. Finally it walks through opening lidar... read more. Last updated: 30 Jul 2018

lessons: 6, presentations 0

Lidar Raster Data R

This teaching module is a part of the earth-analytics course. Last taught: 01 Feb 2017

This module introduces the raster spatial data format as it relates to working with lidar data in R. You will learn how to open, crop and classify raster data in R. Also you will learn... read more. Last updated: 30 Jul 2018

lessons: 6, presentations 0

Intro to Lidar Data

This teaching module is a part of the earth-analytics course. Last taught: 01 Feb 2017

Lidar is an active remote sensing technique that measures vegetation height. Learn more about discrete and full waveform LIDAR and how to use LIDAR data. read more. Last updated: 30 Jul 2018

lessons: 3, presentations 0

Basemaps in R

This teaching module is a part of the earth-analytics course. Last taught: 01 Feb 2017

This module covers using ggmap to create basemaps in r / rmarkdown and how to overlay raster data on top of a hillshade. read more. Last updated: 10 Jan 2018

lessons: 2, presentations 0

Work with Sensor Network Derived Time Series Data in R

This teaching module is a part of the earth-analytics course. Last taught: 25 Jan 2017

This module covers how to work with, plot and subset data with date fields in R. It also covers how to plot data using ggplot. read more. Last updated: 30 Jul 2018

lessons: 6, presentations 0

Get to Know R

This teaching module is a part of the earth-analytics course. Last taught: 25 Jan 2017

This module introduces the R scientific programming language. You will work with precipitation and stream discharge data for Boulder County to better understand the R syntax, various data types and data import and plotting. read more. Last updated: 10 Jan 2018

lessons: 6, presentations 0

Clean Code & Getting Help

This teaching module is a part of the earth-analytics course. Last taught: 25 Jan 2017

This module covers how to write easier to read, clean code. Further is covers some basic approaches to getting help when working in R. Finally it reviews how to install QGIS - a free and... read more. Last updated: 10 Jan 2018

lessons: 3, presentations 0

Understand Disturbance with Data - Flooding and Erosion

This teaching module is a part of the earth-analytics course. Last taught: 06 Dec 2016

This module uses time series data to explore the impacts of a flood. Learn how to use Google Earth imagery, NOAA precipitation data and USGS stream flow data to explore the 2013 Colorado floods. read more. Last updated: 10 Jan 2018

lessons: 3, presentations 3

Link data, processing and results using R Markdown and knitr

This teaching module is a part of the earth-analytics course. Last taught: 06 Dec 2016

This module reviews how to use R Markdown and knitr to create and publish dynamic reports that both link analysis, results and documentation and can be easily updated as data and methods are modified /... read more. Last updated: 10 Jan 2018

lessons: 8, presentations 1

Lidar Compared to Human Measurements: Uncertainty and Remote Sensing Data

This teaching module is a part of the earth-analytics-python course. Last taught: 06 Dec 2016

In this module, we will discuss the concept of uncertainty as it relates to both remote sensing and other data. We will also explore some metadata to learn how to understand more about our data.... read more. Last updated: 08 Oct 2018

lessons: 4, presentations 0

Set up R, RStudio and your working directory

This teaching module is a part of the earth-analytics course. Last taught: 04 Dec 2016

This module walks you through getting R and RStudio set up on your laptop. It also introduces file organization strategies. read more. Last updated: 10 Jan 2018

lessons: 5, presentations 0