GIS Programming

Fall 2026

Meeting:

  • Tuesday 5:30-8pm, Gladfelter 341

Instructor Info:

  • Prof. Lee Hachadoorian
  • 104 Gladfelter Hall – In GIS Studio, enter 103A
  • Lee.Hachadoorian@temple.edu
  • Office Hours:
    • Monday 2:30-3:30pm (virtual only)
    • Tuesday 2:30-3:30 (office + virtual)
    • Thursday 2:30-3:30

Overview

Course Description

Building on previous coursework with Geographic Information Systems (GIS), students will learn computer programming in a GIS environment. Students will design and execute spatial analysis and geovisualization projects using open source geospatial and data science Python packages. Students will learn programming concepts such as variable typing, function definition, conditional evaluation, looping, and object-oriented programming.

Python has rapidly become the de facto standard for scientific computing. It is also the scripting language used by two prominent GIS packages, ArcGIS (proprietary) and QGIS (open source). There is also an extensive and growing ecosystem of Python packages for geospatial analysis. The course will introduce fundamental concepts in programming using the textbook Think Python 3e, and geospatial data science using the textbook Introduction to Python for Geographic Data Analysis. We will also make use of DataCamp interactive tutorials to learn Python syntax and reinforce these fundamental concepts.

The first few weeks of the course will feature weekly exercises and quizzes on basic building blocks. The latter part of the course will go further into Python geospatial programming. In this part of the course, students will present tutorials on further topics.

Prerequisites

  • Fundamentals of GIS (GUS 3062/5062) with B- or better, or equivalent
    • Unofficially, students who are currently registered for Fundamentals of GIS may be approved to take GIS Programming concurrently.
  • A laptop on which you can install software and data

Text

Online exercises will be assigned from DataCamp:

\

Schedule in Brief

  • Week 1
    • Python Basics
  • Week 2
    • Functions & Control of Flow 1
    • DataCamp - Introduction to Python due
  • Week 3
    • Data Analysis with Pandas
    • Quiz 1 - Python Basics: Strings
  • Week 4
    • Data Visualization
    • DataCamp - Intermediate Python due
    • Quiz 2 - Python Basics: Math
  • Week 5
    • Collections - Lists, Tuples, and Dictionaries
    • DataCamp - Data Manipulation with Pandas due
    • Quiz 3- Lists
  • Week 6
    • Functions & Control of Flow 2
    • Quiz 4 - Conditionals
  • Week 7
    • Vector Data Processing
    • DataCamp - Introduction to Functions in Python
    • Quiz 5 - Loops
  • Week 8
    • Vector Data Visualization
    • Quiz 6 - Defining Functions
  • Week 9
    • Raster Data Processing and Visualization
    • DataCamp - Working with Geospatial Data in Python
  • Week 10
    • Additional Topic or Slack Week
    • Programming Assignment 1: Vector Analysis due
  • Week 11
    • Student-Led Tutorial Presentation
  • Week 12
    • Student-Led Tutorial Presentation
    • Programming Assignment 2: Raster Analysis due
  • Week 13
    • Student-Led Tutorial Presentation
  • FALL BREAK
  • Week 14
    • Student-Led Tutorial Presentation
  • Finals Period
    • Programming Assignment 3: Analysis Pipeline due

Assignments in Brief

You will earn points along several tracks. Each track is worth up to 100 points. Your must progress along ALL tracks to be successful in this course. Your final grade is based on the lowest score earned along any track.

The tracks and points associated with each assignment in the track are as follows:

Attendance
0-100 points. Your attendance score is a straight percentage of the class sessions you are present for.
Programming Quizzes (6)
54 base score.
10 points each for quizzes 1 through 3.
3 points each for quizzes 4 through 6.
DataCamp (5)
50 base score
10 points each course completed fully
Programming Assignments (3)
59 base score
10 points Assignment 1 - Vector Operations
10 points Assignment 2 - Raster Operations
20 points Assignment 3 - Analysis Pipelines
Student-Led Tutorial
70-100 points. The tutorial is a skills workshop developed and presented by teams of 3-4 students based on topics discussed in class. The tutorial is awarded up to 30 points based on written materials (a workbook) and presentation.
Exercises (8)
1/2 bonus point each (4 max) added to the lowest other track.