Link Search Menu Expand Document

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
-