Geographic Software Design#

Welcome to the official course website for Geographic Software Design, offered by the University of Tennessee, Knoxville. This course provides an immersive journey into the world of developing open-source Python packages for geospatial analysis and interactive mapping.

Course Overview#

This course offers a comprehensive introduction to creating and designing open-source Python packages for geospatial analysis and interactive mapping. Students will gain hands-on experience with popular Python development environments, including Visual Studio Code, Jupyter Notebook, and Google Colab, to streamline the development, packaging, and distribution of their code. The course emphasizes leveraging existing geospatial libraries, such as geemap and leafmap, as models for best practices, while fostering contributions to the open-source community.

Throughout the course, students will learn how to design a fully functional Python package, complete with an accompanying documentation website that can be freely hosted on GitHub. The curriculum includes essential topics such as version control with Git, writing clean and reusable code, generating documentation, and sharing projects with collaborators and the broader Python ecosystem.

By the end of the course, students will have developed their own Python package, gaining practical skills highly valued in technical roles such as GIS analyst, data scientist, and software developer. These skills will not only enhance their resumes but also position them competitively in the job market for cutting-edge geospatial and software development roles.

Learning Outcomes#

Upon successfully completing the course, students will be able to:

  • Apply git for effective version control

  • Design and develop open-source Python packages for geospatial analysis

  • Leverage open-source geospatial libraries

  • Host and maintain open-source code on GitHub

  • Deploy Python packages to PyPI and conda-forge

  • Develop and host documentation websites

  • Collaborate on open-source projects

  • Contribute meaningfully to the open-source community

  • Enhance employability in geospatial and software development roles

Course Resources#

All course materials, including lecture videos and assignments, are freely accessible via the course website: geog-510.gishub.org.

Enroll for Certification#

You can freely access all course materials and lecture videos without enrolling. However, to receive personalized feedback, graded assignments, and a certificate of completion, you can enroll in the course anytime using the link below. Enrollment is open-ended, allowing you to complete the course at your own pace.

Enroll Now

Geographic Software Design

Lecture Videos#

The complete lecture series is available as a YouTube playlist: https://bit.ly/geosoft-design. Lecture videos will be added weekly as the course progresses in Spring 2025.