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
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
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.
|
Week |
Topic |
Reading/Exercises |
|
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 |
|
|
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 |
|