# Welcome to the Earth Data Science and Machine Learning Course Series

This is the online home for the <strong>second</strong> of the two summer 2026 courses in Columbia's Climate School:
- *Computing and Research Methods for Climate Data Science* ([CLMT5405](https://earth-ds-ml.github.io/summer_2026/intro.html#))
- <strong>*Machine Learning for Climate Science and Environmental Sustainability* (CLMT5403)</strong>

```{admonition} Using a screen reader?
:class: tip
A screen-reader-friendly version of this site is available at
[kdlamb.github.io/ML4Climate2026/accessible](https://kdlamb.github.io/ML4Climate2026/accessible/).
It covers the same material with figures described in text, formulas as readable
math, and notebooks rewritten as scripts.
```

## Course Description
The application of Machine Learning (ML) to climate science and environmental sustainability has become 
increasingly popular in recent years, promising to revolutionize how we analyze and address critical 
environmental challenges. This course will introduce students to the fundamental concepts and methods of ML, 
emphasizing their practical applications to climate science and environmental sustainability.
 
Students will gain both theoretical knowledge and practical skills through hands-on experience with 
machine learning methods and coding. The course is designed to provide familiarity with the design, 
implementation, and evaluation of machine learning models towards addressing specific problems in climate 
science and sustainability. By working with real-world datasets, students will develop a deeper understanding 
of both the capabilities and limitations of ML tools in climate research and for evaluating environmental 
sustainability solutions. This course will cover essential topics such as data preprocessing, 
model selection, evaluation metrics, and the ethical implications of ML in climate science.
 
As ML tools become increasingly important to these application areas, this course will be invaluable for 
those looking to interact with scientists and engineers, manage scientific projects, and develop policies 
in the realm of climate science and sustainability. 

## Course objectives
By the end of this course, students will:
- Develop a strong foundation in ML concepts and techniques applicable to climate science and environmental sustainability challenges
- Apply ML methods to analyze observational data sets, predict trends in environmental data, and identify patterns.
- Critically assess the strengths and limitations of ML approaches to climate and environmental applications
- Understand ethical considerations and policy implications related to ML applications to climate research and environmental science.
- Explore future trends and emerging technologies

## Course structure

We meet **Tuesdays and Thursdays, 9:00–10:45 am** (602 Northwest Corner). Most classes are split in two: the **first half** is a lecture covering new material, and the **second half** is **hands-on coding** where you work through tutorials guided by the instructor. Bring a laptop to every class — you'll spend a large fraction of class time writing and running code, not just listening. We use the [LEAP Pangeo platform](https://leap.columbia.edu/leap-pangeo-3/) to access datasets and to train and evaluate models in Jupyter notebooks.

Attendance and active participation are expected and count toward your grade. Unexcused absences count against the attendance score; excused absences (medical issue, family emergency, or significant career-related activity) are at the instructor's discretion.

## Assignments and grading

Your grade in this course is based on:

- **50%** — coding assignments
- **20%** — final paper and presentation
- **15%** — attendance and participation
- **15%** — quizzes

**Coding assignments.** There are **four** coding assignments, one assigned at the beginning of each of weeks 1–4, following the material covered in class. Each is due by **Thursday at midnight of the following week** (e.g. the assignment given at the start of week 2 is due Thursday of week 3). 

**Quizzes.** Short quizzes on the lecture material are posted in **Courseworks** and are due before the next class.

**Late policy.** Coding assignments turned in **up to one week late** receive a **10%** deduction; assignments **more than one week late** receive a **50%** deduction.

## Final project

A final project serves as the capstone and counts for **20%** of your grade, in lieu of a final exam. It is a **5-page paper** on either the ethical and policy implications of AI use in environmental and climate research, or how ML methods might be applied to a specific climate adaptation or mitigation strategy. 

The timeline:

- **Topic** — submit to the instructor for approval by **Friday, July 24th at midnight**.
- **Presentation** — in-class final presentations on **August 13th**.
- **Paper** — due **August 14th at midnight**.

## Using AI in This Course

AI tools like ChatGPT are now part of how people work with data. This course treats them as a tool you'll learn to use well — including where they help, where they don't, and what your own judgment still has to provide.

**What to use.** For this course, the recommended chat-based AI tool is [Google Gemini](https://www.cuit.columbia.edu/content/google-gemini), which Columbia provides free to students through CUIT. Other chat tools (ChatGPT, Claude.ai) are also fine if you prefer them. Avoid editor-integrated tools like Copilot, Cursor, or Claude Code — chat keeps the "ask → read → verify" loop visible, which matters while you're still learning the underlying skills.

**How to use it — Socratic mode.** Default to asking the AI to *teach* you, not to *do it for you*. At the start of a working session, prime your chat with a tutor prompt. Here is one to start with — feel free to adapt it as you learn what works:

```
You are acting as my Socratic Tutor for a graduate-level Machine Learning and Climate Science
course. I am going to show you bugs or ask about Python/Xarray/Git.

Rules:
1. NEVER give me corrected code blocks or direct syntax fixes.
2. Explain the computational or data concept I am missing.
3. Ask me ONE targeted guiding question to help me find the solution myself.
```

The goal is to use AI to build understanding, not to paste solutions you can't explain.

**What AI is good at, and what it isn't.** Chat-based AI is genuinely useful for explaining error messages, suggesting matplotlib syntax, walking through an unfamiliar library API, or summarizing what a function does. It is less reliable for judging whether your scientific result is correct, picking the right analysis for *your* data, catching subtle bugs in numerical or coordinate-system code, or knowing what "looks right" for a specific geophysical field. Treat AI as a fast, broadly-read but inexperienced collaborator — useful for the syntax layer, not a substitute for your own scientific judgment.

**Your responsibilities.** You're responsible for understanding and being able to explain everything you submit. If you can't explain how a piece of code or analysis works, that's a signal to revisit the material — not to lean more heavily on AI.
