Lectures
- Discussion 1: Expectations and course materials
- How to set up Python for geospatial science and computing
- Homework 1: Mini proposals for weekly in-class projects
- Lecture 1: Variables and controls in Python
- Lecture 2: Functions and classes in Python
- Homework 2: Classes
- Lecture 3: Recursion and exceptions in Python
- Quiz (written)
- Class project 1: WeatherSTEM API project
- Objective: Develop a simple GUI for plotting recorded variables
- Lecture 4: API key, HTTP communication using urllib.request
- Lecture 5: Console version of api_test.py
- Lecture 6: WeatherStemApi class
- Lecture 7: PySimpleGUI version of api_test.py
- Class project 2: Slopy burning
- Objective: Address the bi-directional flow accumulation issue
- Homework 3: Slopy burning algorithm
- Lecture 8: Read TIFF and Shapefile
- Lecture 9: Walking and finding intersecting cells discussion
- Homework 4: Probability of missing cells when walking on the polyline
- Lecture 10: Read line geometries
- Lecture 11: Sort and union lines
- Homework 5: Length of the polyline
- Lecture 12: Walk on the polyline
- Homework 6: Conversion of geospatial coordinates to matrix indices
- Lecture 13: Complete the project
- Quiz 1: Geometric intersection in Python (programming)
- Class project 3: Raster morphing
- Objective: Animate changes between two rasters
- Lecture 14: Animation and canopy change exercise
- Class project 4: DEM profiler
- Objective: Extract the DEM profile along a polyline
- Lecture 15: Recycle the slopy burning code
- Class project 5: Geospatial web mapping application (demo)
- Objective: Build a back-end-heavy geospatial web mapping application
- Lecture 16: Introduction to GeoPandas
- Lecture 17: Geospatial data input/output and queries
- Lecture 18: Introduction to HTTP servers and Bottle
- Lecture 19: HTML form and POST method
- Lecture 20: Text parsing and function pointers
- Lecture 21: “Add coordinates” syntax design and parsing
- Lecture 22: Create and overlay a point Shapefile
- Quiz 2: Porting webmap.py from GeoPandas to GDAL (programming)
- Class project 6: Machine learning
- Objective: Learn how to build artificial neural networks (ANNs)
- Lecture 23: Single-perceptron ANN for the bit-wise AND operator
- Lecture 24: Perceptron, linear separability, and downhill simplex algorithm