Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Introduction to GIS Programming

Fall 2026 · Department of Geography and Sustainability · University of Tennessee

Colab Binder Docker

This is the course website for GEOG 312. It holds the lecture notebooks, lab assignments, syllabus, and schedule for the Fall 2026 offering. Everything here is public, so you are welcome to work through it even if you are not enrolled.

Course at a Glance

MeetingsTuesdays and Thursdays, 12:55 to 2:10 p.m.
LocationBurchfiel Geography Building (BGB) 206
TermAugust 17 to December 1, 2026
Credit3 hours, letter graded
InstructorDr. Qiusheng Wu, BGB 309
Office hoursWednesdays and Thursdays, 8:00 to 9:00 a.m., and by appointment
Emailqwu18@utk.edu

Start with the syllabus, also available as a PDF, and the weekly schedule.

What You Will Learn

GEOG 312 is a programming course taught through geography. No prior programming experience is assumed. The first half of the semester covers Python itself. The second half applies it to real geospatial data using the open source tools that working analysts and researchers actually use.

By the end of the semester you will be able to:

Course Materials

SectionWhat is in it
Course InformationSyllabus, schedule, textbook, instructor
Software SetupInstalling Python, VS Code, Git, Colab, JupyterLab, Docker
Python Programming FundamentalsVariables, data structures, strings, loops, functions, files, NumPy and Pandas
Geospatial Programming with PythonGeoPandas, Rasterio, Xarray, Leafmap, WhiteboxTools, MapLibre, geemap, GeoLibre, HyperCoast, DuckDB, GDAL, Solara, Sedona
LabsTen lab assignments and how to submit them

Textbook

The required textbook is Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools by Qiusheng Wu (2025). Every code example from the book is free and runs in your browser, so you can follow along from day one while you sort out where to buy a copy. See the textbook page for print, PDF, and EPUB options, and for the companion video tutorials.

Running the Code

Every chapter page has Open in Colab and Binder badges at the top. Click either one and you are running the notebook in a few seconds with nothing installed. That is the fastest way to start, and it is a perfectly good fallback all semester if your laptop gives you trouble.

We will also set up a local environment together in Week 1, because being able to run code on your own machine matters once your projects outgrow a browser tab. See Software Setup.

If you prefer Docker:

docker pull giswqs/pygis:book
docker run -it -p 8888:8888 -v $(pwd):/app/workspace giswqs/pygis:book

Enroll for Certification

Please note that you can access the course materials and lecture videos on the course website without enrolling in the course. However, if you’re interested in submitting lab assignments, receiving grades, and earning a certificate of completion, you can enroll in the course at any time by clicking the link below. There is no deadline for enrollment, and you can complete the course at your own pace.

Enroll Now

Introduction to GIS Programming

Getting Help

License

Course materials in this repository are released under CC BY 4.0. The text and figures of the printed textbook are copyrighted by the author and are not reproduced here. See the textbook page for details.