This upper-undergraduate textbook teaches students programming in GIS using a mix of computer science theory and hands-on activities, with the aim of empowering students to understand fundamentals and apply their knowledge beyond the specific examples in the book. Each of the book’s twenty-one chapters integrates instructional material with exercises in ArcGIS Pro. In doing so, this book combines the strengths of workbooks and theoretical textbooks to provide a holistic and comprehensive text. Each chapter concludes with an unguided task that ensures students have learned the broader principles explained therein. In addition to its unique format, the book covers oft-neglected topics such as debugging, creating a program from scratch, and managing metadata.
Section I starts with the principles of scripting and programming with Python. Section II introduces the ArcPy module and elements specific to ArcGIS Pro. This section focuses on data structures, and how they are used and implemented within Python. Section III uses the topic of algorithms to guide the student through creating tools to add functionality to ArcGIS Pro. The last section, Section IV, builds upon section III to guide the student to developing and sharing projects and Python packages to include external open-source code and share the Python code as an open-source package.
This text will prepare students for a long-term ability to do GIS programming, whether in industry or academic research. This comes from the author’s observations of students who have learned GIS programming in one platform, such as VBA in ArcMap, struggle to apply that knowledge to a new platform, such as Python in ArcGIS Pro, because the content was presented too closely with a specific platform. The integration of exercises with conceptual content, along with the choice of chapter content, serves this goal of preparing students for working in a dynamic, rapidly changing technology field.