{ "cells": [ { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-03-26T23:43:23.835096Z", "start_time": "2020-03-26T23:43:23.817287Z" } }, "outputs": [], "source": [ "# Pay no attention to this cell\n", "# All will be revealed in due time.\n", "import pandas as pd\n", "import os\n", "from pathlib import Path\n", "from IPython.display import Image\n", "syllabus=pd.read_csv('Datasets/syllabus_2020.csv',header=0)\n", "syllabus=syllabus.fillna(\"\")\n", "syllabus.index = range(1,len(syllabus)+1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Python Programming for Earth Science Students\n", "\n", "Authors: Lisa Tauxe, ltauxe@ucsd.edu, Hanna Asefaw, hasefaw@ucsd.edu, & Brendan Cych, bcych@ucsd.edu\n", "Instructor: Lisa Tauxe, ltauxe@ucsd.edu\n", "TAs: Brendan Cych, bcych@ucsd.edu, Shelby Jones, saj012@ucsd.edu\n", "\n", "\n", "\n", "### Computers in Earth Science\n", "\n", "Computers are essential to all modern Earth Science research. We use them for compiling and analyzing data, preparing illustrations like maps or data plots, writing manuscripts, and so on. In this class, you will learn to write computer programs with special applications useful to Earth Scientists. We will learn Python, an object-oriented programming language, and use Jupyter notebooks to write our Python programs.\n", "\n", "### Python\n", "\n", "So, why learn Python? Because it is:\n", "\n", "- Flexible, freely available, cross platform\n", "- Easier to learn than many other languages\n", "- It has many numerical, statistical and visualization packages\n", "- It is well supported and has lots of online documentation\n", "- The name 'Python' refers to 'Monty Python' - not the snake - and many examples in the Python documentation use jokes from the old Monty Python skits. If you have never heard of Monty Python, look it up on youtube; you are in for a treat. \n", "\n", "Which Python? \n", "- Python underwent a transition from 2.7 to 3. The notebooks in this class, apart from a few exceptions, are compatible with both but they have only been tested on Python 3, so that is what you should be using. \n", "- If you decide to use a personal computer, we recommend that you install the most recent version of Anaconda python for your operating system: \n", "https://www.anaconda.com/download/\n", "you will also need a few extra packages (cartopy, version 0.17.0 geopandas, version 0.7.0 and descartes, version 1.1.0) which can be installed with little hassle. \n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-03-26T23:44:08.957155Z", "start_time": "2020-03-26T23:44:08.933036Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", " | Topic | \n", "Date | \n", "Assignment | \n", "
---|---|---|---|
1 | \n", "Intro to notebooks, file systems and paths | \n", "30-Mar | \n", "\n", " |
2 | \n", "Variables and Operations | \n", "1-Apr | \n", "\n", " |
3 | \n", "Data structures | \n", "3-Apr | \n", "#1 | \n", "
4 | \n", "Dictionaries, program loops (if, while and for) | \n", "6-Apr | \n", "\n", " |
5 | \n", "functions and modules | \n", "8-Apr | \n", "\n", " |
6 | \n", "NumPy and matplotlib | \n", "10-Apr | \n", "#2 | \n", "
7 | \n", "NumPy arrays | \n", "13-Apr | \n", "\n", " |
8 | \n", "Pandas, file I/O | \n", "15-Apr | \n", "\n", " |
9 | \n", "data wrangling with Pandas | \n", "17-Apr | \n", "#3 | \n", "
10 | \n", "object oriented programming | \n", "20-Apr | \n", "\n", " |
11 | \n", "lambda, map, filter reduce, list comprehension | \n", "22-Apr | \n", "\n", " |
12 | \n", "Pandas filtering and exceptions | \n", "24-Apr | \n", "#4 | \n", "
13 | \n", "subplots, bar charts pie charts | \n", "27-Apr | \n", "\n", " |
14 | \n", "histograms and cumulative distribution functions | \n", "29-Apr | \n", "\n", " |
15 | \n", "statistics 101 | \n", "1-May | \n", "#5 | \n", "
16 | \n", "line and curve fitting | \n", "4-May | \n", "\n", " |
17 | \n", "visualization with seaborn | \n", "6-May | \n", "\n", " |
18 | \n", "maps | \n", "8-May | \n", "Project Proposal AND #6 | \n", "
19 | \n", "gridding and contouring | \n", "11-May | \n", "\n", " |
20 | \n", "geopandas | \n", "13-May | \n", "\n", " |
21 | \n", "rose diagrams and equal area projections | \n", "15-May | \n", "#7 | \n", "
22 | \n", "matrix math - dot and cross products | \n", "18-May | \n", "\n", " |
23 | \n", "plotting great and small circles | \n", "20-May | \n", "\n", " |
24 | \n", "Machine Learning- Clustering | \n", "22-May | \n", "#8 | \n", "
25 | \n", "Memorial Day | \n", "25-May | \n", "\n", " |
26 | \n", "Machine Learning- Classification, PCA | \n", "27-May | \n", "\n", " |
27 | \n", "3D plots of points and surfaces | \n", "29-May | \n", "#9 | \n", "
28 | \n", "Time series - periodograms | \n", "6/1/20 | \n", "\n", " |
29 | \n", "Animations | \n", "6/3/20 | \n", "\n", " |
30 | \n", "\n", " | 6/5/20 | \n", "\n", " |
31 | \n", "Final Presentations | \n", "6/11/20 | \n", "\n", " |