Reproducible work
Organize code, data, and environments so another person can repeat your analysis.
Python · Data · Reproducible 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
Organize code, data, and environments so another person can repeat your analysis.
Use NumPy and pandas to work with weather, streamflow, water-quality, and gridded data.
Write algorithms, quantify uncertainty, validate results, and explain limitations.
Create figures and notebooks that connect computation to an environmental question.
16-week teaching sequence
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.
| Week | Course topic | Lab focus | Slides |
|---|---|---|---|
| 01 | Course overview and reproducible computation | Jupyter setup and first plot | Open |
| 02 | Python basics | Lab 2, Part A: weather variables | Open |
| 03 | Conditionals, loops, and events | Lab 2, Part B: environmental events | Open |
| 04 | Functions and debugging | Hydrologic indices | Open |
| 05 | NumPy and array thinking | Gridded Earth data | Open |
| 06 | Pandas and time series | Streamflow and weather | Open |
| 07 | Scientific visualization | Group Lab 1 | Open |
| 08 | Statistics, regression, and uncertainty | Group Lab 2 | Open |
| 09 | Algorithm development | Group Lab 3 | Open |
| 10 | Responsible AI-assisted coding | Group Lab 4 | Open |
| 11 | Geostatistics and spatial prediction | Group Lab 5 | Open |
| 12 | Simple environmental modeling | Group Lab 6 | Open |
| 13 | Final project launch | Proposal workshop | Open |
| 14 | Reading week or academic break | ||
| 15 | Advanced applications and project support | Project studio | Open |
| 16 | Course synthesis | Final presentations | Open |
Student workspace
Download a clean notebook before you begin. Keep your completed work in a separate copy.
Five guided notebooks that build core Python skills.
Six pair labs: each partner owns one module, and both finish with one joint result.
Move from a testable question to a reproducible analysis and presentation.
Before the first lab
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 →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
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.
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 ↓