Skip to main content

GISci Programming

Prerequisite: GEOG370 (Introduction to Geographic Information) or GEOG491 (Introduction to GIS).

Course Objectives:

(1) Promoting understanding of programming, software/applications, and their relationships with GIS and Spatial Analysis tasks. Students will be exposed to basic computer science concepts, such as data types, data structures and object oriented programming, etc.

(2) Students will gain programming experiences by using programming languages (python, VB.NET, or C) to complete simple spatial analytical tasks, mapping tasks, or batch geo-processing tools for GIS applications.

(3) Integrating external GIS models with GIS software through loose coupling, such as models coded in C++.

(4) Promoting self-motivation in applying GIS programming knowledge to geographic research, which can be either physical/environmental applications, or human/urban applications.

Students are encouraged to solve their research problems (thesis, dissertation, or other research topics) using GIS programming.

I assume students of this course have already been familiar with ArcGIS 10 or ArcGIS Pro, through geog370, geog491, or related working experiences.

Course Components:

This course is a required course for the GISci Graduate Certificate Program. Besides traditional midterm and final exam, Geog592 also has the following major components:

  • Lecture and ICAs – basic programming concepts, such as python basics, R basics will be covered in a short period (2-3 weeks). The focus of this class is on GIS related programming topics. Programming lectures are often followed by practice questions (in class activities and quizzes) to help students to understand the programming concepts.
  • Programming Labs – There will be 8 labs throughout the semester.
  • Term project – every student will develop a project proposal (see description below).

Term Project (Proposal 5%, Project 25%)

Each student is required to submit a term project proposal on a GIS application, which must have a “GIS BRAIN” – spatial analytical component. Alternatively, development of geo-processing tools is also acceptable for term project topics.

Students are encouraged to solve their research problems with the help of GIS programming. Students need to identify the research problem (a clear problem statement), data availability, methodology (be specific), program design, formats of output, and how to interpret/use the results. Proposal is due on Feb 28, 2023, at the beginning of class. Please submit your proposal on CANVAS.

Only 50% or less proposals will be picked up for term projects. Students will be divided into teams, based on research interests, and programming experiences. Each team (2-3 students) will work together for the chosen project. A log of individual contribution to the final project should be prepared by each team and will be used for final project grading.

Each team will spend about seven minutes to present their term project on the last two classes.