Python · Data · Reproducible science

Computational Methods for
Earth & Environmental Science

Learn Python through real Earth and environmental questions. Build reproducible workflows, analyze data, make clear figures, develop algorithms, and test simple environmental models.

What you will practice

Code as a scientific tool

01

Reproducible work

Organize code, data, and environments so another person can repeat your analysis.

02

Data analysis

Use NumPy and pandas to work with weather, streamflow, water-quality, and gridded data.

03

Scientific reasoning

Write algorithms, quantify uncertainty, validate results, and explain limitations.

04

Clear communication

Create figures and notebooks that connect computation to an environmental question.

16-week teaching sequence

Course schedule

Lecture slides open in a new tab. Individual Lab 2 spans Weeks 2 and 3. Week 14 can be used for a reading week or academic break.

WeekCourse topicLab focusSlides
01Course overview and reproducible computationJupyter setup and first plotOpen
02Python basicsLab 2, Part A: weather variablesOpen
03Conditionals, loops, and eventsLab 2, Part B: environmental eventsOpen
04Functions and debuggingHydrologic indicesOpen
05NumPy and array thinkingGridded Earth dataOpen
06Pandas and time seriesStreamflow and weatherOpen
07Scientific visualizationGroup Lab 1Open
08Statistics, regression, and uncertaintyGroup Lab 2Open
09Algorithm developmentGroup Lab 3Open
10Responsible AI-assisted codingGroup Lab 4Open
11Geostatistics and spatial predictionGroup Lab 5Open
12Simple environmental modelingGroup Lab 6Open
13Final project launchProposal workshopOpen
14Reading week or academic break
15Advanced applications and project supportProject studioOpen
16Course synthesisFinal presentationsOpen

Student workspace

Course materials

Download a clean notebook before you begin. Keep your completed work in a separate copy.

03

Final project

Move from a testable question to a reproducible analysis and presentation.

Before the first lab

Set up the course environment

Install Anaconda or Miniconda, download the course repository, then run these commands from the repository folder.

Download environment.yml ↓ Working on your own laptop? Open a lab notebook in VS Code, step by step →
Terminal
conda env create -f environment.yml
conda activate earth-course
python scripts/download_data.py
python scripts/clean_data.py
jupyter lab

How work is evaluated

Grading and course policies

Grading weights

Individual labs
30%
Group labs
25%
Final group project
30%
Contribution + participation
10%
Attendance + engagement
5%
AI

Responsible tool use

When allowed, AI tools may support debugging, refactoring, comments, tests, and documentation. Disclose meaningful assistance, run and review every line, verify outputs, and be ready to explain your work.

Never use AI to fabricate data, citations, results, or interpretations. Never upload restricted data.

DB

Lab debrief

Beginning with Lab 2, arrive at the next lab meeting with a short record of a solved problem, an unresolved problem with evidence, or a design and verification choice.

Download debrief guide ↓