This course provides an introduction to programming in the context of geospatial science and technology. Using Python as the main language, students will be introduced to the basic principles of programming, including languages and syntax, paradigms, variables, control flow and functions. Students will apply their programming skills to the automation of geospatial analysis workflows and map production using desktop geospatial software, for example GIS and CAD. They will also learn how to use standalone Python packages for geospatial analysis. Finally, they will learn the principles of object oriented programming and how it relates to geospatial science.