Welcome to Programming for Spatial Data Science 2024!

Welcome to Programming for Spatial Data Science 2024!

On this website you will find the course materials developed for GEOG399L taught at the Department of Geography, University of Oregon in Spring 2024.

Designed by Johnny Ryan // Powered by Jupyter Book

Overview

The goal of this course is to introduce students to basic programming concepts in Python and apply these skills to various geospatial problems. There are no pre-requisites and students do not need any previous programming experience. Each week we will have a short lecture that introduces a new topic. In the following assignment, students will apply these new concepts to solve common tasks involving geospatial data. During this course, students will become familiar with the main Python packages used for importing, analyzing, and visualizing geospatial data. Students are encouraged to discuss and collaborate on the assignments. However, assignments must be completed and submitted individually.

Learning outcomes:

  • Acquire basic Python coding skills

  • Implement common programming techniques (e.g. conditional statements, loops, functions).

  • Become familiar with object-oriented programming

  • Identify common geospatial data formats and appropriate Python packages to work with them

  • Perform basic data analysis on table, vector, and raster data

  • Visualize different types of data

  • Recognize the importance of open-source software

Python

Python has become one of the most popular programming languages in spatial data science. One of the main reasons for this is that it is very user-friendly. Python is categorized as a “high-level” language meaning that it has a higher level of abstraction (or distance) from machine binary code (0s and 1s). Python code is therefore very readable (for those who know English) and the learning curve is relatively smooth. Python is free to use and supported by an extremely large ecosystem of libraries and packages. Python is a versatile programming language commonly used for web development, data analytics, GIS, and even machine learning. Finally, the Python community is mature and supportive. Python was created over 30 years ago and the community now includes developers of all skill levels. It is therefore easy to find accessible documentation, guides, and tutorials on the internet.

Acknowledgements

This course was inspired by course material designed by Melanie Walsh, David Shean, and the University of Helsinki.