Introduction to Environmental Data Science

This site hosts the first half of the course content for ESS 523A at Colorado State University.

Author

Caitlin Mothes, PhD and Katie Willi

Published

January 16, 2026

1 Welcome!

This site hosts the course curriculum for Colorado State University’s ESS 523A course: Introduction to Environmental Data Science

Setting up R

As your first step, please follow the instructions on the Setup Instructions page to make sure you have all the necessary software installed on your computer before the class starts.

Goals

The broad goal of this course is to learn the data science tools and best practices for working with environmental datasets using the programming language R. Specific to the content in this website, students will learn how to:

  1. Navigate the RStudio interface and create R Markdown documents for reproducible reporting;
  2. Utilize R packages and functions to manipulate and analyze data effectively and apply data wrangling techniques using the {tidyverse} framework;
  3. Differentiate between various data types and structures within R; and
  4. Explore comparative analyses, linear regression, and trend analysis techniques to reveal patterns in data.

Approach and Expectations

In-Person Section:

This class is flipped, meaning all materials for the week ahead must be reviewed before class. To encourage this we will have weekly quizzes on pre-class content each Monday before we dive into the assignment.

So without lectures in class what do we do together? We code! This class has almost 6 hours of contact time per week, and we design lessons so that you should be able to finish your assignments in class. The flipped class allows for deeper discussion about the common pitfalls of coding and allows for collaborative work time with your fellow classmates.

Generally we will do a quick live-code review of concepts from the assignment and the pre-class materials, but more than 1 hour per class will be dedicated to you coding and working on the assignment in class.

As such, coming to class is a vital part of how you can be successful and we fully expect you to be there every day.

We also will actively encourage a collaborative coding environment where students help each other and discuss the best approach to solving various coding problems. We also hope that outside of class, you will use the course Teams channel to discuss code issues!

Online Sections:

The online course is asynchronous, and you will watch the class lectures that are posted on Canvas and work through lessons and assignments on your own time. While you will be learning in an online environment, we highly encourage you to collaborate with your fellow online classmates by communicating through the course Teams channel.

All Students:

We will send all course communications as Canvas announcements. The course syllabus will also be posted on Canvas. Please review the course syllabus for communication guidelines, AI policy, and other important course logistics and details.

Additional introductory resources

If you are looking to learn even more outside of what this class offers, below are some great introductory R resources:

  • Stat 158 - Vectors, data frames, installing R, etc…

  • RStudio Materials - A series of videos, books, and more to get you started in R.

1.0.0.1 Tidyverse Introduction

  • R for Data Science - Covers all of the basic intro material, from a tidyverse perspective. As discussed, this is one way to find solutions in R, it happens to be my preferred way, but there are lots of Base R ways that work just fine!

  • Stat 159 - A CSU specific course for an intro to the tidyverse

  • R Markdown - The primary book for learning more about R Markdown and all of its quirks.

  • Cheatsheets - Short, clear documents that cover so much material from dplyr to shiny apps. Great for quick references. We find the rmarkdown and ggplot2 ones particularly useful!