{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Python for Earth Science Students\n",
"\n",
"\n",
"\n",
"To look at these lectures interactively, go to:\n",
"[https://mybinder.org/v2/gh/ltauxe/Python-for-Earth-Science-Students/master](https://mybinder.org/v2/gh/ltauxe/Python-for-Earth-Science-Students/master)\n",
"\n",
"\n",
"### [Lecture 1](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_01.ipynb)\n",
"\n",
"\n",
"- Learn to find your command line interface.\n",
"- Learn how to launch a Jupyter notebooks from the command line interface\n",
"- Learn basic notebook anatomy.\n",
"- Learn some basic UNIX commands \n",
"- Write your first python script\n",
"- Learn your first Ipython _magic_ command\n",
"- Learn about the concept of **PATH**\n",
"\n",
"### [Lecture 2](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_02.ipynb)\n",
"\n",
"- Learn about variables\n",
"- Learn about operations\n",
"\n",
"### [Lecture 3](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_03.ipynb)\n",
"\n",
"- Learn about collections of variables: data structures \n",
"\n",
"- Learn about _objects_ - Learn about _methods_ which allow you to do things to _objects_\n",
"\n",
"### [Lecture 4](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_04.ipynb)\n",
"\n",
"- Learn more about another useful data structure, **dictionaries** and some of their **methods**\n",
"- Introduce special Python code blocks\n",
"- Learn about \"for\" loops, \"while\" loops and \"if\" blocks\n",
"\n",
"### [Lecture 5](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_05.ipynb)\n",
"\n",
"- Learn about functions\n",
"- Discover the joys of modules \n",
"\n",
"### [Lecture 6](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_06.ipynb)\n",
"\n",
"- get a first peek at the very useful Python packages called **NumPy** and **matplotlib**\n",
"\n",
"### [Lecture 7](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_07.ipynb)\n",
"\n",
"- Learn more about **NumPy** and **matplotlib**\n",
"- Learn more about **NumPy** arrays. \n",
" \n",
"\n",
"### [Lecture 8](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_08.ipynb)\n",
"\n",
"- more about **matplotlib**: adding notes and saving images\n",
"- about DataFrames and Series, two new _data structures_, that are part of the **Pandas** package \n",
"- some basic filtering tricks with **Pandas**\n",
"- how to read in and save data files with **Pandas**\n",
"\n",
"### [Lecture 9](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_09.ipynb)\n",
"\n",
"- Learn how to filter data with Pandas\n",
"- Write a program to calculate the great circle distances between two known points. \n",
"- Learn how to generate formatted strings for output.\n",
"\n",
"### [Lecture 10](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_10.ipynb)\n",
"\n",
"- Learn about \"object oriented programming\" (OOP)\n",
"- Learn how to create a \"class\"\n",
"- Learn more about namespaces \n",
"- Learn more about copies\n",
"\n",
" \n",
"### [Lecture 11](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_11.ipynb)\n",
"\n",
"- Learn about **lambda** functions\n",
"- How to use **map( )**, **filter( )**, and **reduce( )** \n",
"- Explore the joys of List, Set and dictionary comprehension\n",
"\n",
"\n",
"### [Lecture 12](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_12.ipynb)\n",
"\n",
"- Tricks with pandas\n",
"- Filtering \n",
"- concatentating and merging dataframes\n",
"\n",
"### [Lecture 13](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_13.ipynb)\n",
"\n",
"- Learn a few more Pandas tricks\n",
"- Learn how to make more complicated plots with **matplotlib**\n",
"- Learn about the composition of the sun, solar system and Earth.\n",
"- Learn about exceptions in python\n",
"\n",
"### [Lecture 14](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_14.ipynb)\n",
"\n",
"- Learn how to plot histograms and cumulative distributions\n",
"- Learn how to get lists of random numbers \n",
"- Learn about the topography of the Earth (hypsometric curve)\n",
"\n",
"### [Lecture 15](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_15.ipynb)\n",
"\n",
"- Learn some basic statisics - samples versus populations and empirical versus theorectical distributions.\n",
"- Learn to calculate _central tendencies_, _spreads_. \n",
"- Learn about _significant figures_ and more about formatting output. \n",
"- Learn some useful functions in **NumPy** and **SciPy** for simulating distributions and calculating statistics.\n",
"\n",
"### [Lecture 16](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_16.ipynb)\n",
"\n",
"- Learn how to deal with bivariate data (fitting lines, curves).\n",
"- Apply line fitting to determine the age of the Universe. Cool. \n",
"\n",
"### [Lecture 17](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_17.ipynb)\n",
"\n",
"- Learn how to use the **seaborn** package to produce beautiful plots\n",
"- Learn about kernel density estimates\n",
"- Learn appropriate ways of representing different types of data\n",
"\n",
"### [Lecture 18](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_18.ipynb)\n",
"\n",
"NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)\n",
"\n",
"- start to make some basic maps using **Cartopy**. Yippee (we love maps). \n",
"\n",
"\n",
"### [Lecture 19](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_19.ipynb)\n",
"\n",
"NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)\n",
"\n",
"- Learn about gridding and contouring with cartopy\n",
"\n",
"\n",
"### [Lecture 20](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_20.ipynb)\n",
"\n",
"- We will work with directional data using rose diagrams and stereonets\n",
"\n",
"### [Lecture 21](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_21.ipynb)\n",
"\n",
"- Learn some useful tricks about matrix math. \n",
"\n",
"### [Lecture 22](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_22.ipynb)\n",
"\n",
"- Learn how to plot great and small circles on an equal area net and map projections. \n",
"\n",
"### [Lecture 23](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_23.ipynb)\n",
"\n",
"NB: This notebook will not work in the interactive online binder environement\n",
"\n",
"- Learn about the concept of Graphical User Interfaces\n",
"- Learn how to make a GUI in a Jupyter notebook\n",
"- Learn how to export the GUI to a command line program\n",
"\n",
"### [Lecture 24](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_24.ipynb)\n",
"\n",
"- Find out about Machine Learning\n",
"- Learn about using the scikit-learn python package for machine learning.\n",
"- Apply machine learning to Earth Science problems\n",
"\n",
"### [Lecture 25](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_25.ipynb)\n",
"\n",
"- Learn about 3D plots of points and surfaces\n",
"- Show some examples with subduction zone earthquakes and isotopic systems\n",
"\n",
"### [Lecture 26](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_26.ipynb)\n",
"\n",
"- Take a look at data with respect to time (time series)\n",
"- Learn a bit about time series analysis. \n",
"\n",
"### [Lecture 27](https://nbviewer.jupyter.org/github/ltauxe/Python-for-Earth-Science-Students/blob/master/Lecture_27.ipynb)\n",
"\n",
"- Learn how to make and display animated gifs\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}