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.
- Lecture: Monday 12:00 PM - 2:00 PM in McCone 265
- Office Hour: Monday 2:00 PM - 3:00 PM in McCone 265
Instructor: Weiqiang Zhu (zhuwq@berkeley.edu)
Graduate student reader: Shivangi Tikekar (shivangi.tikekar@berkeley.edu)
For the class project, students will work in teams of 1-3 to analyze an Earth Science dataset from Kaggle. The scope and evaluation of each project will be adjusted based on team size. The project includes three components:
- Proposal: Outline the chosen dataset, research question, and analysis approach.
- Presentation: Present key findings, methods, and insights, using visualizations to support your results.
- Final Report: Provide a report covering the dataset, analysis, results, and conclusions, highlighting the Earth Science findings.
| 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, |
| 10/21 | [Sklearn: Supervised Learning: Classification 2] | slides, |
| 10/28 | [Sklearn: Unsupervised Learning: Clustering] | |
| 11/04 | [Probabilites] | |
| 11/11 | Veterans Day | |
| 11/18 | [PyTorch: Neural Networks 1] | |
| 11/25 | [PyTorch: Neural Networks 2] | |
| 12/02 | [Project] | |
| 12/09 | [Project] |