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.
This teaching module is a part of the intermediate-earth-data-science-textbook course. Last taught: 19 Nov 2019
Python provides a datetime object for storing and working with dates. Learn how to handle date fields using pandas to work with time series data in Python. read more. Last updated: 21 Nov 2019
lessons: 4, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 05 Nov 2019
A function is a reusable block of code that performs a specific task and can help you to eliminate repetition and improve efficiency in your code through modularity. Learn how to write functions in Python... read more. Last updated: 09 Nov 2019
lessons: 3, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 22 Oct 2019
Loops can help reduce repetition in code by iteratively executing the same code on a range or list of values. Learn how to write loops in Python to write Do Not Repeat Yourself, or DRY,... read more. Last updated: 09 Nov 2019
lessons: 2, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 22 Oct 2019
Conditional statements help you to control the flow of code by executing code only when certain conditions are met. Learn how to use conditional statements to write Do Not Repeat Yourself, or DRY, code in... read more. Last updated: 07 Nov 2019
lessons: 2, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 02 Oct 2019
GitHub is a website that supports git version control and also collaborative project management. Learn how to use git and GitHub to collaborate on projects in support of reproducible open science. read more. Last updated: 21 Oct 2019
lessons: 3, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 23 Sep 2019
Pandas dataframes are a commonly used scientific data structure in Python that store tabular data using rows and columns with headers. Learn how to import data into pandas dataframes and how to run calculations, summarize,... read more. Last updated: 12 Oct 2019
lessons: 4, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 23 Sep 2019
Numpy arrays are a commonly used scientific data structure in Python that store data as a grid, or a matrix. Learn how to import data into numpy arrays and how to run calculations, summarize, and... read more. Last updated: 03 Oct 2019
lessons: 4, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 17 Sep 2019
Writing code that opens files using paths that will work on many different machines will make your project more reproducible. Learn how to construct paths in your Python code that will work on any machine... read more. Last updated: 05 Oct 2019
lessons: 2, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 17 Sep 2019
The Python programming language provides many packages and libraries for working with scientific data. Learn how to import and install Python packages for earth data science. read more. Last updated: 21 Oct 2019
lessons: 3, presentations 0
This teaching module is a part of the scientists-guide-to-plotting-data-in-python-textbook course. Last taught: 11 Sep 2019
Matplotlib is the most commonly used plotting library in Python. Learn how to get started with creating and customizing plots using matplotlib. read more. Last updated: 21 Oct 2019
lessons: 2, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 04 Sep 2019
Clean code refers to writing code that runs efficiently, is not redundant and is easy for anyone to understand. Learn best practices for writing clean, expressive code in Python. read more. Last updated: 04 Nov 2019
lessons: 4, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 03 Sep 2019
Python is programming language that emphasizes the readibility of code and provides many packages and libraries for working with scientific data. Learn how to get started with writing Python code. read more. Last updated: 21 Nov 2019
lessons: 4, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 29 Aug 2019
There are many text file formats that are useful for earth data science workflows including Markdown, text (.txt, .csv) files, and YAML (Yet Another Markup Language). Learn about these common text file formats for earth... read more. Last updated: 23 Sep 2019
lessons: 2, presentations 0
This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 19 Aug 2019
This tutorial walks you through wrangling data (e.g. subselect, combine and update) using pandas dataframes and numpy arrays. read more. Last updated: 10 Sep 2018
lessons: 2, presentations 0
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
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
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
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
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 19 Jul 2019
This chapter teaches you how to use Jupyter Notebook, an interactive environment where you can write and run code such as Python and add text that describes your workflow using Markdown. read more. Last updated: 23 Sep 2019
lessons: 6, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 15 Jul 2019
Bash or Shell is a command line tool that is used in open science to efficiently manipulate files and directories. Learn how to use Bash to access and move files and directories. read more. Last updated: 23 Sep 2019
lessons: 2, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 01 Jul 2019
Open science involves making scientific methods, data and outcomes available to everyone. Learn why open reproducible science is important. Discover tools that support open science including Shell (Bash), git and GitHub, and Jupyter. read more. Last updated: 23 Sep 2019
lessons: 3, presentations 0
This teaching module is a part of the earth-analytics-python course. Last taught: 21 Oct 2018
Learn how to design and develop automated workflows to calculate NDVI time series in Python. read more. Last updated: 03 Sep 2019
lessons: 3, presentations 0
This teaching module is a part of the earth-analytics-python course. Last taught: 21 Oct 2018
Learn how you can contribute to open source software. read more. Last updated: 03 Sep 2019
lessons: 4, presentations 0
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: 03 Sep 2019
lessons: 1, presentations 0
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: 03 Sep 2019
lessons: 3, presentations 0
This teaching module is a part of the intro-to-earth-data-science-textbook course. Last taught: 06 Sep 2018
A version control system allows you to track and manage changes to your files. Learn how to get started with version control using git and GitHub.com. read more. Last updated: 23 Sep 2019
lessons: 4, presentations 0
This teaching module is a part of the earth-analytics-bootcamp course. Last taught: 18 Aug 2018
This tutorial provides an opportunity to practice writing DRY code using loops, conditional statements, and functions. read more. Last updated: 10 Sep 2018
lessons: 1, presentations 0
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
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
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
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
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
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
This teaching module is a part of the earth-analytics-python course. Last taught: 14 Apr 2018
Learn how to use spectral remote sensing data to better understand fire activity. read more. Last updated: 03 Sep 2019
lessons: 6, presentations 0
This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018
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: 26 Nov 2019
lessons: 5, presentations 0
This teaching module is a part of the earth-analytics-python course. Last taught: 05 Feb 2018
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 Python, reading in data stored... read more. Last updated: 03 Sep 2019
lessons: 4, presentations 0
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: 03 Sep 2019
lessons: 9, presentations 0
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: 05 Sep 2019
lessons: 4, presentations 0
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: 05 Sep 2019
lessons: 7, presentations 0
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: 04 Sep 2019
lessons: 7, presentations 0
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: 03 Sep 2019
lessons: 8, presentations 0
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: 03 Sep 2019
lessons: 4, presentations 0
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: 04 Sep 2019
lessons: 3, presentations 0
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: 03 Sep 2019
lessons: 3, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 4, presentations 0
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: 15 Nov 2019
lessons: 6, presentations 0
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: 15 Nov 2019
lessons: 8, presentations 0
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: 03 Sep 2019
lessons: 8, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 5, presentations 0
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: 05 Sep 2019
lessons: 4, presentations 0
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: 04 Sep 2019
lessons: 2, presentations 0
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: 03 Sep 2019
lessons: 1, presentations 0
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: 15 Nov 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 3, presentations 0
This teaching module is a part of the earth-analytics course. Last taught: 15 Feb 2017
Learn how to create maps with custom colors and legends in both base R and with ggplot in R. read more. Last updated: 03 Sep 2019
lessons: 3, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 3, presentations 0
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: 03 Sep 2019
lessons: 2, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 6, presentations 0
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: 03 Sep 2019
lessons: 2, presentations 0
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: 03 Sep 2019
lessons: 3, presentations 3
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: 03 Sep 2019
lessons: 8, presentations 1
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: 03 Sep 2019
lessons: 4, presentations 0
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: 03 Sep 2019
lessons: 5, presentations 0