A Python Introduction to Earth Science
Mondays 12:00–2:00 pm, McCone 265 · 2 units · Instructor Weiqiang Zhu
One question a week, answered with data and code you write yourself. Where do earthquakes and volcanoes happen, and why there? Which worlds besides Earth could hold liquid water? Is carbon dioxide rising faster than it used to? Can a machine learn to hear an earthquake?
The datasets are the ones research uses, not simplified teaching examples: the USGS earthquake catalogue, NASA's Exoplanet Archive, the Smithsonian's record of volcanic eruptions, and the seismic recordings used to train published deep-learning models. Python begins from zero in the first week, which ends with a figure you have plotted yourself, and reaches a neural network in the last. In between you learn to fit a model to data, to state how far it can be trusted, and to distinguish a real result from a coincidence. Thirteen notebooks, then a project of your own.
None. No programming experience is assumed — we build Python from zero. EPS 88 is a Data 8 connector; students who have taken Data 8 will recognize some of the statistics and move faster, but nothing here requires it.
Each link opens that week's notebook in your own DataHub account.
One notebook a week. You work in it during class and continue in the same file at home. The class questions apply a method you have just been shown; the homework asks the question the class deliberately left open. Both halves are your own work, and both are graded. Submit the notebook once, Sunday 23:59; solutions are published the following Wednesday.
weekly notebook 75% · project 15% · participation 10%
- Weekly notebook — one file per week, class work and homework together, submitted once. Due Sunday 23:59. The lowest weekly notebook is dropped.
- Participation — assessed from your contribution in class; nothing is submitted separately.
- Project — a track notebook or a question of your own. Lightning talks Monday 7 December; notebook due Wednesday 16 December, 23:59.
Late work — 10% per day; nothing accepted once solutions post.
python · numpy · pandas · matplotlib · scikit-learn · pytorch