The required textbook for GEOG 312 is:
Wu, Q. (2025). Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools. Independently published. ISBN 979-8286979455 (print), 979-8993859712 (PDF). https://
amazon .com /dp /B0FFW34LL3

The chapters on this site follow the book chapter for chapter. The schedule tells you which chapter to read before each week.
Getting a Copy¶
Print edition. English full-color print edition, 556 pages, on Amazon. ISBN 979-8286979455.
PDF and EPUB. Available from opengeopub
.com /books /gispro. ISBN 979-8993859712. Other languages. The book has been translated into Chinese, Czech, Dutch, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, and Turkish.
Table of contents. A PDF of the full table of contents is at https://
gispro .gishub .org /book -toc .pdf.
Free Code Examples¶
Every code example in the book is free, regardless of whether you buy the book. They live in the book’s own repository at giswqs/intro-gispro and are mirrored on this course site, where each chapter page carries Open in Colab and Binder badges. You can start working on day one while you sort out where to get a copy of the text.
The book’s own website is https://
Video Tutorials¶
A companion series of video tutorials walks through the key concepts:
https://
The videos were recorded in Fall 2024, when this course was last taught, and are organized to follow the book’s structure. They complement the written material rather than replacing it, and they are especially useful for:
Seeing code being written and executed rather than only reading it
Hearing a second explanation of a concept that did not land the first time
Watching how to approach a problem and debug it
Recordings from this semester are posted on Canvas as we go.
Additional Reading¶
These are optional, freely available, and useful if you want a second take on the Python fundamentals:
Swaroop CH. A Byte of Python. https://
github .com /swaroopch /byte -of -python Ujaval Gandhi. Python Foundation for Spatial Analysis. https://
courses .spatialthoughts .com /python -foundation .html Dave Whipp. Geo-Python. https://
geo -python -site .readthedocs .io Michael Dorman. Introduction to Geospatial Programming with Python. https://
geobgu .xyz /py /index .html Qiusheng Wu. Earth Engine and Geemap: Geospatial Data Science with Python. https://
book .geemap .org
Licensing¶
The code examples are released under CC BY 4.0. You are free to copy, modify, and distribute them, including commercially, as long as you give credit.
The text, figures, and images of the printed book are copyrighted by the author and are not reproduced in this repository. To reuse non-code material for teaching, presentations, or publications, please contact the author.