GEOG 485:
GIS Programming and Software Development

Home Page


Welcome to GIS Programming and Software Development (GEOG 485)!

Quick Facts


Bill Gates is credited with saying he would "hire a lazy person to do a difficult job" with the justification that "a lazy person will find an easy way to do it." GEOG 485 doesn't teach the lazy way to get the job done, but it does teach the scripting way - which is arguably even better. You've probably heard the "give a fish"/"teach to fish" saying? That's the gist of GEOG 485: to equip you, in an ArcGIS context, with the ModelBuilder and Python scripting skills to make your repetitive geoprocessing tasks easier, quicker and automatic, so you can focus on the more interesting (and potentially more valuable) work that you (and your employers) really want you to be doing.

The course focuses on solving geographic problems by modifying and automating generic Geographic Information System (GIS) software through programming. In GEOG 485, students use the Python programming language to write and modify scripts that add functionality to desktop GIS tools and to automate geospatial analysis processes. No previous programming experience is assumed. Core topics covered in this class include object-oriented programming, component object model technologies, object model diagrams, loops, if-then constructs, and modular code design, and situates these topics in the geospatial workflow through their integration with maps, layers, spatial data tables, and spatial analysis methods.

Students who successfully complete the course can automate repetitive GIS tasks, customize GIS interfaces, and share their geospatial software development work with others. 

GEOG 485 is a required course in Penn State's Postbaccalaureate Certificate in Geospatial Programming and Web Map Development and one of several electives students may choose as their final course leading to Penn State's Postbaccalaureate Certificate in Geographic Information Systems. It can also be applied toward the Penn State Geospatial Intelligence Graduate Certificate and Master of Geographic Information Systems degree.

Learn more about GEOG 485, GIS Programming and Software Development (1 min, 22 sec)

Click here for a transcript of the course introduction.

JIM DETWILER: Hi there, and welcome to GIS Programming and Automation. I'm Jim Detwiler, one of a small team of instructors who teaches this course. This has always been one of our most popular courses, probably because who doesn't want to learn how to automate some of the tedious, repetitive tasks that they have to deal with at work. This course requires no programming experience and I think we've done a pretty good job of meeting the needs of folks that are novice programmers, while at the same time, still having something good to offer for people that do have some experience.

What you're going to learn in this course is how to do Python programming in the context of Esri's desktop GIS software. Though it will set you up well for using it in other contexts, such as web application development or doing GIS automation in an open source context, for example, QGIS. My hope is that by the end of the course, you will be ready to apply what you've learned immediately at work, to automate some of the workflows that you have there. With that, thank you for watching. If you have any questions at all, please don't hesitate to contact me.

Credit: © Penn State is licensed under CC BY-NC-SA 4.0

Want to join us? Students who register for this Penn State course gain access to assignments and instructor feedback and earn academic credit. For more information, visit Penn State's Online Geospatial Education Program website. Official course descriptions and curricular details can be reviewed in the University Bulletin.

This course is offered as part of the Repository of Open and Affordable Materials at Penn State. You are welcome to use and reuse materials that appear on this site (other than those copyrighted by others) subject to the licensing agreement linked to the bottom of this and every page.