Geog 593 - GISci Programming

Fall 2007

Instructor: Jun Liang, Ph.D. Email: Phone:(919)962-3872
Time: Thursday 3:30-6:00 Location: 322 Saunders Office: 218 Saunders Hall 
Office Hours: Tuesday and Thursday, 10:00AM-11:00AM or by appointment
Course Website:  AFS: \afs\isis\html\courses\2007fall\geog\593\001
Lecture Notes: L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11

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


Required Materials:
1. Getting to know ArcObjects
Author Robert Burke 
Publisher info ESRI PRESS, 2003
Available from bookstore. You can buy it from amazon (, and use ISBN = 158948018X  to search for it. 

2.  Esri Virtual Campus online ESRI product learning center by ESRI. Registration is free. Some courses/modules/workshop are free. You need an account to finish your lab exercises. 

Optional Materials:
Title Spatial Analytical : Perspectives on GIS, ISBN: 074840340X 
Publisher Taylor & Francis, 1996
Available from bookstore. This is a good referrence for designing a good GIS project. Highly recommended. 

2. Textbook
Title Open Source GIS: A Grass GIS Approach, ISBN: 1402070888 
Author Markus Neteler, Helena Mitasova 
Publisher Kluwer Academic Publishers; (June 2002)
Available from bookstore. This is recommended when you want use GRASS to implement your GIS models. 

Course Descriptions:
Major objectives of this course: (1) Learning GIS programming languages such as Arcview's Avenue, ArcObjects VBA, etc, for customizing GIS applications, or implementing spatial models which could not be done through existing functions provided by software. (2) Integrating external GIS models with GIS software through loose coupling, such as models coded in C++. (3) Promoting self-motivation in applying GIS programming knowledge to geographic researches, 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 either Arcview 3.X or ArcGIS 9.X, through geog370, geog491, or working experiences. In the first eight weeks, students will learn Avenue and ArcGIS(VBA) programming, and also design a term project which needs significant amount of GIS programming -  I would like students to implement geographic/spatial models using GIS programming, such as air pollution modeling, urban sprawl modeling, water quality modeling, or crime spatial simulation. The proposal for term project is due at the end of seventh week. Students will present their proposals on class. Only 50% proposals will be picked up for term projects. Each team has two students. Team members work together for the chosen project. Upon requests, I may approve students to work on their own (In this case, no team member). Students will also learn ways to integrate external modules with GIS software package. A final presentation of term project is required for each team.

There will be 8 labs, one midterm exam on programming, and no final exam. Students are encouraged to read the University Honor Code. Academic dishonesty (cheating, plagiarism, getting help without giving credits to others, etc. ) will be reported. 
Labs: 8*15 = 120 points
Midterm: 200 points
Term project proposal: 100 points
Term project: 500 points
Class participation: 80 points

A = 950 -1000;
A- = 900-949;
B+ = 850-899;
B = 800-849;
B- = 750-799;
C+ = 700-749;
C = 650-699
D+ = 600-649
D = 550-599
D- = 500-549

Course Schedule

Week1 - 2 Arcview Avenue, VBA Introduction
Week 2 - 8 ArcObjects VBA Programming

Week 9 - 13 Python Programming
Week 9 Term Project Proposal Presentation
Week 11 Midterm Exam
Week 13- 14 More examples on GIS programming, integrating spatial models with GIS.
Week 15 - 16 Term Project Presentation

Term Project
Each student is required to submit a term project proposal on a GIS application, which must has a "GIS BRAIN" - spatial analytical component. 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 Oct. 4th, at the beginning of class. 

Only 50% proposals will be picked up for term projects. Each team will have two students and work together for the chosen project. 

By Dec 8th, 3:30PM, each team needs to submit a hard copy of final report, and a CD which contains all files for the term project. Relative paths for data files and programs should be maintained, which means, you always save data files and programs under the same directory. (You may switch drive letters)

Final reports should have analysis and discussion sections for model outputs.

Important dates
Oct. 4th - Term project proposal is due

Oct. 11th – Proposal presentation

Oct. 18th– Fall break begins
Oct. 25th - Midterm

Nov. 22nd – Thanksgiving Recess (No Class)

Nov. 29th - Project presentation
Dec. 8th - Term Project is due