GEOG 435/535 – GIS Programming

Instructor: Dr. Arthur J. Lembo, Jr.

Office: Henson Hall 157H

Office Hours: M,W,F 9:00-11:00am; (also by appointment)

Phone: 410-677-0140

E-mail: ajlembo@salisbury.edu

Class Meetings: MW 3 – 4:15 p.m. Henson Hall 153

 

 Course Description: This course will introduce the basics of programming and their applications in geographic research.  This will focus primarily on writing SQL statements and python programs with both commercial and open source GIS.  After finishing this class, students are expected to be able to write their own programs to automate geographic tasks.

 

Text:  We will be using a combination of .pdf files and video lectures. ALL students must have access to headphones, and bring them to class as we will have numerous video exercises to work through in class.  The reasons for the video exercises are due to a much more rapid pace of learning.    

 

Grading: This course has a total of two exams, 5 quizzes, and numerous work projects during the semester, in addition to a final programming project.  Each exam is worth 15 points, each quiz is worth 5 points, each work project is worth 1 point, the final project is worth 25 points, and class participation is worth 10 points (a total of 100 points). Failure to complete an assignment will cause a deduction in your class participation grade.

 

Some of your assignments will be from the ESRI Virtual Campus - DO NOT PURCHASE THE COURSES - our license with ESRI allows free use for students.  Your Professor will give you the access codes.

 

Note: graduate students will be required to complete a separate research project that accounts for 10 percent of their final grade.  Therefore, the final project for graduate students is 15 points, and the supplemental research project is 10 points.  The supplemental research project will relate to topics such as evaluating the relative speeds of different GIS algorithms or hardware configurations, or might be comparing the algorithmic intensity of two different commercial software packages.  

 

Special note on projects: Each student will select a simple programming project to complete.  You may ask your professor or other faculty in the Department or University about an interesting geographic problem they would like automated.  Students will submit a one-page description of the project they want to complete.  Students may work on the projects in class during the third week of November.  During that time, they will be able to receive assistance from the instructor.  However, it is anticipated that the projects will also require some out-of-class time as well.  During the last week of class, students will give a 10 minute presentation of their project.  Details will follow in class.

 

Expectations and Responsibilities:  Students are expected to have a basic knowledge of computer systems and data processing methods using both Windows XP or similar windows-based systems and command line operations similar to that found in older DOS-based programs. Students should be able to communicate with the instructor using electronic mail, and to access and search the Internet for data and information relevant to the course. A working knowledge of Word, Excel, and Powerpoint is helpful.

 

A major responsibility of the instructors is to promote an active learning environment in the course which requires instructors and students to be motivated, participatory, and communicative. Lecture assignments, quizzes, and exams are designed to be conducted independently. Instructors and students are expected to adhere to Salisbury University's code of academic integrity.

 

Students with special needs: Students with special needs (i.e. untimed tests, etc.) must contact the Vice President of Student Affairs (3-6082) for the appropriate documentation. For students who need special arrangements for taking exams, you must bring me a letter at least 1 week before the first exam.

 

 Attendance: Attending class is important.  Coming to class, paying attention and taking notes is the best way to learn the course material.  Most lectures will come from the textbook, but some material will only be presented in class.  If I sense that you are not coming to class, I will purposefully assign quizzes or projects during those class times and you will not receive points for those activities, and your class participation grade will suffer as well. 

 

Classroom Environment: Students are expected to contribute to an environment appropriate for learning that considers and respects the needs and rights of others.  Any academic misconduct will be confronted and handled accordingly.  Please silence all electronic devices while in class.  Do not arrive late and do not leave early.

 

            ***************************  PLEASE NOTE SCHOOL POLICY FOR THE H1N1 VIRUS ***************************************

 

Academic Integrity: Cheating, plagiarism and other forms of academic dishonesty will not be tolerated in this course.  Students should pay special attention to the expectations discussed in the 2005-2006 Student Handbook and 2005-2007 University Catalog.  Violating these rules will result in significant grade penalties up to and including a failing grade for the course.  Extreme cases of academic misconduct can result in expulsion from the University.

 

Writing Across the Curriculum: All writing assignments, both formal and informal, are in support of Salisbury University’s Writing Across the Curriculum Program.

 

Important University Dates for Fall

Last day to drop/add –  August 31

Last day to withdraw from course to receive a “W” – October 26

  

Changes to Syllabus: This syllabus may be modified or changed by the instructor as necessary. Students will be notified of the changes in class.

 

    Approximate Schedule – GIS Programming – Fall 2015

Week

Topic

Reading/Exercises

Monday, August 26, 2012

Course Introduction, discussion of programming languages: python, VBScript, C#, VB, examples

 

Wednesday, August 28, 2012

Procedural vs. event based programming, forms driven programming, the software lifecycle, program design, pair programming, errors

 

Monday, September 02, 2012

No Class – Labor Day

Introduction , Projects, Interface

Wednesday, September 04, 2012

Manifold overview: components, drawings, maps, tables, projections

PostGIS overview: Tables, PGAdmin, Connections

Introduction , Projects, Interface

Monday, September 9, 2012

Quiz #1: Manifolod GIS and PostGIS.

 Manifold overview: panes, import/export, toolbars.

SQL Introduction and Data Types

Components, All drawing videos

Wednesday, September 11, 2012

Traditional SQL Statements

Maps, Tables, Query toolbar

Monday, September 16, 2012

Quiz #2: Traditional SQL Statements.

SQL Aggregate functions, spatial statistics with SQL

Wednesday, September 18, 2012

Spatial SQL for vector

 

Monday, September 23, 2012

Quiz #3: SQL for vector data

Spatial SQL for vector

 

Wednesday, September 25, 2012

Spatial SQL for classic geography problems

 

Monday, September 30, 2012

Quiz #4: spatial SQL

Advanced SQL operations - overlay, clip, etc.

 

Wednesday, October 02, 2012

Assignment: Denton spatial application with SQL

 

Monday, October 07, 2012

Assignment: Denton emergency application

 

Wednesday, October 9, 2012

Assignment: Richland Chemical lab with SQL

Monday, October 14, 2012

Introduction to object models and APIs

 

Wednesday, October 16, 2012

Introduction to Arcpy

ESRI Virtual Campus: Basics of Python (for ArcGIS 10)

Monday, October 21, 2012

Describing objects with Arcpy

Wednesday, October 23, 2012

Automating Arcpy scripts with lists

ESRI Virtual Campus:  Python Scripting for Map Automation in ArcGIS 10

Monday, October 28, 2012

Updating data with Arcpy

 

Wednesday, October 30, 2012

Midterm - SQL, Arcpy 

 

Monday, November 04, 2012

Assignment: Richland Chemical lab with Arcpy

ESRI Virtual Campus:  Python Scripting for Geoprocessing Workflows (for ArcGIS 10)

Wednesday, November 06, 2012

Assignment: Denton spatial application with Arcpy

Monday, November 11, 2012

Assignment: Denton emergency application

 

Wednesday, November 13, 2012

ArcGIS and raster

Monday, November 18, 2012

ArcGIS and raster

 

Wednesday, November 21, 2012

Work on projects

 

Monday, November 26, 2012

Work on projects

 

Wednesday, November 27, 2012

No Class (Thanksgiving Break)

 

Monday, December 03, 2012

Work on projects

 

Wednesday, December 05, 2012

Work on projects

 

 

FINAL EXAM:  FRIDAY DECEMBER 13.  4:15 – 6:45 (Don’t shoot the messenger).