Skip to content

PyEarth: A Python Introduction to Earth Science

Welcome to PyEarth, a course designed to introduce students to the intersection of Python programming and Earth Science. This course is tailored for students interested in applying computational methods to understand our planet. The course uses Python/Jupyter Notebook and real-world observations to introduce students to various Earth phenomena and their underlying physics.

The class is designed for undergraduate students, and no prior knowledge of Earth Science is required. In this course, you will:

  • Learn the basics of Python programming
  • Explore fundamental Earth Science concepts
  • Apply data analysis techniques to real-world Earth Science problems
  • Gain hands-on experience with popular Python libraries such as NumPy, Pandas, Matplotlib, and scikit-learn
  • Develop skills in machine learning and its applications in Earth Science
  • Work on practical projects to reinforce your learning

The class will consist of a combination of lectures and hands-on exercises from the basics of Python to advanced topics like neural networks and their applications in Earth Science. By the end of this course, you'll have a foundation in both Python programming and Earth Science analysis techniques.

Like to Data 8:

Time and Location

  • Lecture: Monday 12:00 PM - 2:00 PM in McCone 265
  • Office Hour:
  • Monday 2:00 PM - 3:00 PM in McCone 265
  • Thursday 10:00 AM - 11:00 AM in McCone 285

Instructor: Weiqiang Zhu (zhuwq@berkeley.edu)

Graduate student reader: Shivangi Tikekar (shivangi.tikekar@berkeley.edu)

Final Projects

Schedule

Date Topic Links
09/02 Labor Day
09/09 [Introduction && Python 101] slides, assignment
09/16 [Numpy & Pandas] slides, assignment
09/23 [Matplotlib & Cartopy & PyGMT] slides, assignment
09/30 [SkLearn: Supervised Learning: Regression 1] slides, assignment
10/07 [Sklearn: Supervised Learning: Regression 2] slides, assignment
10/14 [Sklearn: Supervised Learning: Classification 1] slides, assignment
10/21 [Sklearn: Supervised Learning: Classification 2] slides, assignment
10/28 Midterm review
11/04 [Sklearn: Unsupervised Learning: Clustering] slides, assignment
11/11 Veterans Day
11/18 [Probabilites] slides, assignment
11/25 [PyTorch: Neural Networks 1] slides, assignment
12/02 [PyTorch: Neural Networks 2] slides1, slides2, assignment
12/09 Final Project (RRR Week)