Courses

Courses

I am currently focused on teaching a graduate-level series in ecological data science covering everything from how to program, how to derive and analyze ecological models, how to design experimental and observational studies, how to confront models with data, to how to use the latest deep learning models.

Schedule:
Fall 2025 Fundamentals of data science for ecology and evolution (prereq)
Spring 2026 Machine learning and AI for ecology and evolution
Fall 2026 Process modeling with data in ecology and evolution
Spring 2027 Fundamentals of data science for ecology and evolution (prereq)
Fall 2027 Advanced statistical models for ecology and evolution

The first course is intended as prerequisite knowledge and skills for the other three (the prerequisite is not enforced but is a good idea). It introduces algorithmic thinking and three cultures of data science (process models, statistics, machine learning) that the later classes expand on. I'll try to teach the prereq more often than the others.

Ìý

Fundamentals of data science for ecology and evolution

1) How to code in R and Python using proper programming principles. R and Python are now essential tools and most scientists would do well to know both. We'll also learn to safely use AI tools to code productively, use Git and Github for project management and collaboration, and how to structure workflows for reproducible science.
2) How to simulate data from models. This is the foundation for understanding and doing data science and, I strongly believe, science in general. We'll consider data simulation from a variety of perspectives from process-based ecology and evolution models to descriptive models such as linear regression. We'll learn how to conceptualize a model, turn the concept into code, and use it to design field or lab studies to test hypotheses and ultimately discover how the world works.
3) Theory and practice of data visualization.
4) Fundamental algorithms and workflows for frequentist, likelihood, Bayesian and machine learning approaches to learning from data.

Fall 2025 class on GitHub: , , .

Ìý

Machine learning and AI for ecology and evolution

Introduces machine learning algorithms applied to ecological problems. Learning goals: 1) You will have an understanding of the fundamental concepts and algorithms that underpin most of machine learning. 2) You will be confident to use machine learning algorithms in your own research. 3) You will have a broad overview of how ecologists are currently using machine learning algorithms to revolutionize ecological research.

Spring 2026 class on GitHub: , , .

Ìý

Process modeling with data in ecology and evolution

1) Algorithms for simulating fundamental ecology and evolution process models in discrete and continuous time. Including agent-based simulation, Gillespie algorithm, stochastic processes, numerical solution of ODEs and PDEs. From physiological to ecosystem ecology, adaptation to speciation, disease ecology and eco-evolutionary dynamics.
2) Techniques for understanding model behavior, including dimensional analysis, stability analysis, sensitivity analysis, and dynamical systems theory.
3) Algorithms for fitting models to data, including likelihood, Bayesian, approximate Bayesian computation (ABC), machine learning.
4) Ecological forecasting and data assimilation.

The idea is a more advanced version of a class I taught for about 10 years until 2017:

Syllabus 2017

Ìý

Advanced statistical models for ecology and evolution

This course will focus on traditional linear models, emphasizing hierarchical models, including GLMMs, time series analysis, spatial modeling, spatio-temporal modeling and Bayesian approaches.

It will extend most of the components of the later third of this course I taught for 5 years, and add more topics:

Fall 2024 class on GitHub: , , .