This year I developed new teaching resources aimed at MSc students in geographic data science. The technology stack includes Anaconda, Jupyter notebooks, and an array of open-source Python packages for geospatial analytics and machine learning. I put it all on GitHub at https://github.com/andrea-ballatore/teaching-programming-for-gis.

As computer programming was one of the most feared subjects in our department, I felt extremely pleased to see that breaking the content up into short cells in Jupyter notebooks massively improved the module clarity and accessibility. I always thought that the traditional and intimidating scripts in .py files never fully worked for non-STEM students.
This is a summary of the content:
- 01: Data types and variables (Python)
- 02: Control structures; Pandas data frames (
pandas
) - 03: Defining functions; temporal data (Python)
- 04: Vector data (
geopandas
) - 05: Raster data (
rasterio
,rasterstats
) - 06: Network analysis (
networkx
,osmnx
) - 07: Machine learning (
sklearn
); Natural Language Processing (spacy
)
License: Creative Commons Attribution-NonCommercial-ShareAlike (CC-BY-NC-SA)