UGA Bulletin Logo

Programming for Geographic Information Science


Course Description

Computer programming skills tailored to the needs of advanced users of geographic information science (GIS) are developed, including customization of GIS applications with academic and commercial programming tools. Topics include GIS user-interface design, advanced functions and tools coding, fundamental spatial data structures and algorithms, and geospatial database management.

Additional Requirements for Graduate Students:
Graduate students will be assigned additional reading and discussion activities, more complex analytical and writing assignments, and additional questions on tests.


Athena Title

Programming for GIS


Equivalent Courses

Not open to students with credit in GEOG 4590E or GEOG 6590E


Undergraduate Prerequisite

GEOG 4370/6370-4370L/6370L or permission of department


Graduate Prerequisite

GEOG 4370/6370-4370L/6370L or permission of department


Semester Course Offered

Offered spring


Grading System

A - F (Traditional)


Course Objectives

Students will develop geographic information science programming skills which are essential for both academic research and practical applications relevant to business, industry, and governmental users. Students will gain practical experience with a suite of geographic information system software packages, including programming skills for routine customization. Students will master fundamental elements of logic that structure and guide programming activities in the geographic information sciences. This course satisfies the Computer Literacy and Critical Thinking General Learning Activities, through its emphasis on geographic information science programming skills and exploration of the logic which underpins these skills.


Topical Outline

1) Introduction to programming with objects 2) Python scripting from Model Builder 3) Scripts in GIS with Python 4) GIS customization for the interface and application 5) Basic VBA operations to customize application 6) Basic ArcObjects operations. 7) Advanced ArcObjects operations 8) Final project development