This course will introduce students to the fundamentals of programming, followed by an applied focus on using these skills in geographic information systems. Students will learn how to programmatically edit spatial data, automate common processes, and conduct complex spatial analyses. The course will emphasize open-source software that enriches geospatial data analysis alongside the data processing and analytical capabilities of existing GIS software. Classroom time will be a mix of short lectures and laboratory exercises.