These labs were created for the Principles of Geocomputing course which is taught at the University of Minnesota by Eric Shook as an introduction to spatial computation. I was the Teaching Assistant in the Spring of 2018. I encourage and support the learning of Python, and these materials will be updated for sharing purposes.
The availability of computing infrastructures such as high-performance and cloud computing, high-speed networks, and rich data has led to a new scientific paradigm using computational approaches, termed computational science. Geocomputation is the "application of a computational science paradigm to study a wide range of problems in geographical and earth systems (the geo) contexts" (Openshaw, 2014). This course will introduce students to geocomputation as well as related areas including big spatial data, and cyberinfrastructure. Students will engage in hands-on exercises learning principles and best-practices in geocomputing. The ability to program is an essential skill for GIScientists. Learning to program takes time and a lot of practice, and in this course students will learn how to develop programs in the Python programming language to solve geospatial problems.
Students are required to have previous experience in GIS, geovisualization, and/or spatial databases. No programming experience is expected or required for this course. Students are encouraged to contact the instructor if they have questions about course prerequisites.
Students who successfully complete this course will be able to understand, use, and develop programs written in Python to process and summarize geospatial data. Students will also learn collaborative problem solving and interdisciplinary communication skills.
The course is designed for students with a variety of backgrounds from geographic sciences, environmental and social sciences, as well as information and computer sciences. This course is oriented toward undergraduate students, but graduate students are also welcome.
This course is still developing as technologies and applications continue to evolve.