Calendar
Week 1 - Course expectations, syllabus review, course mechanics
- Sep. 30
- Assignment #0 available
- Description (PDF)
- Oct. 1
- Class #0 on Zoom: Welcome to OCEAN 215
- Co-created community norms (PDF)
- Oct. 2
- Assignment #1 available
- Notebook (HTML, .ipynb)
Week 2 - Intro to data analysis, principles of programming, Google Colab notebooks, variables, mathematical operations, strings
- Oct. 6
- Lesson #1: Why code? An introduction to scientific data analysis, principles of programming, and Python
- Video - Ethan (YouTube - Parts 1, 2, 3, 4), Slides (PDF, Keynote)
- Class #1 on Zoom: Data science, big ocean data, Google Colab, and algorithmic thinking activities
- Slides with activities (PDF, Keynote)
- Assignment #0 due at 11:59 pm PT
- -
- Oct. 8
- Lesson #2: Math, variables, and strings
- Video - Katy (YouTube - Parts 1, 2, 3), Slides (PDF, Keynote)
- Class #2 on Zoom: Debugging, indexing, and slicing activities
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
- Final project assigned
- Description (PDF, Pages)
Week 3 - Lists, object types, logical operations, and control flow
- Oct. 13
- Lesson #3: Lists, object types, and logical operations
- Video - Katy (YouTube - Parts 1, 2, 3, 4), Slides (PDF, Keynote)
- Class #3 on Zoom: Math, list, and string activities
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
- Oct. 15
- Lesson #4: For loops, while loops, list comprehensions, and if statements
- Video - Ethan (YouTube - Parts 1, 2, 3, 4), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #4 on Zoom: Control flow, part 1 - absolute value and unit conversion activities
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
- Oct. 16
- Final project topic check-in due at 11:59 pm PT
- -
- Oct. 17
- Assignment #1 due at 11:59 pm PT
- Solution notebook available by request
- Assignment #2 available
- Notebook (HTML, .ipynb)
Week 4 - NumPy (1D and 2D arrays, functions), APIs, dictionaries, datetime objects
- Oct. 20
- Lesson #5: NumPy: Arrays and functions
- Video - Ethan (YouTube - Parts 1, 2, 3), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #5 on Zoom: Control flow, part 2 - hurricane season activity
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
- Oct. 22
- Lesson #6: Multi-dimensional NumPy arrays, dictionaries, and datetime
- Video - Katy (YouTube - Parts 1, 2, 3, 4), Slides (PDF, Keynote)
- Class #6 on Zoom: Multi-dimensional array and datetime activities
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
Week 5 - NumPy (CSV files), Matplotlib (basic plotting)
- Oct. 27
- Lesson #7: Loading files (Colab, Google Drive), loading data (readlines, NumPy), and an intro to plotting (Matplotlib)
- Video - Katy (YouTube - Parts 1, 2, 3), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #7 on Zoom: File management, loading data, and plotting - NOAA tides activity
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb)
- Oct. 29
- Lesson #8: El Niño index coding demo - Loading data with NumPy, working with 2D arrays, creating datetime objects, making line/scatter plots
- Video - Ethan (YouTube), Notebook (HTML, .ipynb), Data (Niño 3.4 index)
- Class #8 on Zoom: El Niño index activity
- Activity notebook (HTML, .ipynb), Data (Niño 3.4 index)
- Oct. 31
- Assignment #2 due at 11:59 pm PT
- Solution notebook available by request
- Assignment #3 available
- Notebook (HTML, .ipynb), Data (ERA5, Southern Ocean float, WOCE CTD #1, WOCE CTD #2)
Week 6 - Pandas (CSV files), xarray (netCDF files), dealing with missing data
- Nov. 3
- Lesson #9: Pandas and xarray: Working with CSV and netCDF data files
- Video - Ethan (YouTube - Parts 1, 2, 3, 4), Slides (PDF, Keynote), Notebook (HTML, .ipynb), Data (Southern Ocean float, B-SOSE output [contact us])
- Class #9 on Zoom: Optional work session
- -
- Nov. 5
- Class #10 on Zoom: Pandas - Ballard Locks salmon counts activity
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (Salmon counts)
- Nov. 7
- Final project data check-in due at 11:59 pm PT
- -
Week 7 - Matplotlib (histograms, bar plots, pseudocolor/contour plots), Cartopy (mapping), interpreting errors
- Nov. 10
- Lesson #11: Coding demo - histograms and bar plots
- Video - Katy (YouTube), Notebook - blank (HTML, .ipynb), Notebook - solutions (HTML, .ipynb), Data (Nutrients)
- Class #11 on Zoom: Xarray, histograms, and error messages - WOA18 global ocean temperature activity
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (WOA18, or contact us)
- Nov. 12
- Lesson #12: Plotting review, 2-D plots, and mapping
- Video - Katy (YouTube - Parts 1, 2, 3), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #12 on Zoom: Projections, mapping, and colormaps - WOA18 activity, part 2
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (WOA18, or contact us)
- Nov. 14
- Final project Piazza responses due at 11:59 pm PT
- -
- Assignment #3 due at 11:59 pm PT
- Solution notebook available by request
- Assignment #4 available
- Notebook (HTML, .ipynb), Data (Glider)
Week 8 - SciPy (interpolation, regression); final project (loading and cleaning data)
- Nov. 17
- Class #13 on Zoom: Matplotlib, Cartopy, and xarray review - Arctic sea ice activity; final project data loading/cleaning
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (NSIDC sea ice record [contact us])
- Nov. 19
- Lesson #14: SciPy (linear regression, 1-D and 2-D interpolation)
- Video - Ethan (YouTube - Parts 1, 2), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #14 on Zoom: SciPy (linear regression, 1-D interpolation) - global temperature record activity
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (NASA GISS temperature record)
Week 9 - Pandas (split-apply-combine); final project (data analysis)
- Nov. 24
- Lesson #15: Manipulating data with Pandas: Counting, sorting, grouping, correlating, resampling, and smoothing data
- Video - Ethan (YouTube - Parts 1, 2), Notebook (HTML, .ipynb), Data (Marine mammal surveys, WA weather)
- Class #15 on Zoom: Pandas (correlating, resampling, smoothing) and SciPy (2-D interpolation) - tide gauge and Arctic sea ice (part 2) activities
- Slides (PDF, Keynote), Activity notebook (HTML, .ipynb), Data (Tide gauge records - Key West, Pensacola; global sea level trends)
- Nov. 26
- No class
Week 10 - Functions, package management, command line, Jupyter, IDEs; final project (data analysis)
- Nov. 30
- Assignment #4 due at 11:59 pm PT
- Solution notebook available by request
- Dec. 1
- Lesson #16: Functions, organization, external packages, and string formatting
- Video - Katy (YouTube - Parts 1, 2, 3), Slides (PDF, Keynote), Notebook (HTML, .ipynb)
- Class #16 on Zoom: Functions, packages, and string formatting - Argo float activity
- Activity notebook (HTML, .ipynb), Data (Argo floats - .zip file)
- Dec. 3
- Class #17 on Zoom: Instructors share their research code; advanced topics - working with large netCDF files, local Python installations
- Slides (PDF)
Week 11 - Final project presentations
- Dec. 8
- Final presentations, part 1
- -
- Dec. 10
- Final presentations, part 2
- -
- Dec. 12
- Final project slides and code due at 11:59 pm PT
- -