The infomration below is out of date. Please see the
GSP 318 Canvas Syllabus page for up to date information.
Syllabus
- GSP 318: Geospatial Programming
- Instructor: Dr. Jim Graham (James.Graham@humboldt.edu)
- Meetings: Wednesday 5:00pm to 7:50pm and Friday 9:00 to 10:50 in NR 203
- Textbook: None, online readings will be assigned. You will need a thumb drive (flash drive) or equivalent to save your work
- Prerequisites: At least one class in GIS and a desire to break free of the bonds of GIS software packages!
- Office hours:
- Office Hours: Mondays 1-2, Tuesdays 11-12, Wednesdays 3-5, Fridays 11-12
- And by appointment
This is a 3-credit class in how to create programs to accomplish GIS tasks that would otherwise be extremely time consuming or impossible. Programming sets you free from the limited user interface available in GIS and other software packages to accomplish tasks, especially repetitive tasks, much faster and with greater flexibility. It is also becoming a critical element in government, academic, and commercial GIS organizations. Python is the language of choice for ArcGIS and is a powerful programming language in its own right.
Catalog Description
GSP 318. Geospatial Programming I (3). Introduction to programming for geospatial students. Covers problem decomposition, control structures, simple data structures, testing, and documentation, using the Python programming language and spatiality-oriented examples.
Learning Outcomes
In this class, you'll learn to:
- Write Python scripts to automate virtually any geoprocessing task in ArcGIS
- Combine scripts into larger programs to tackle complex GIS analysis and maintain large GIS data sets
- Write scripts to perform data processing, statistics, and other tasks independently from ArcGIS
- Provide web access to GIS data, and to harvest data from the Internet
- Avoid performance and numerical accuracy problems by understanding the capabilities and limitations of computers
- Decide between tasks that should be performed manually in ArcGIS, handled with Model Builder, scripted in Python, tackled with other computer languages, or moved to other software packages
- Achieve the critical tasks for successful GIS software development including; investigation, requirements specification, design, implementation including error-handling, documentation, testing, debugging, and maintenance
- Find programming help through online resources
- Feel great about your accomplishments in programming (it makes up for the really frustrating times)!
Grading
- 40% assignments
- 20% quizzes
- 30% final project
- 10% professionalism
Letter grades will be assigned as follows:
- A = 94 -100
- A- = 90-93
- B+ = 87-89
- B = 83-86
- B- = 80-82
- C+ = 77-79
- C = 73-76
- C- = 70-72
- D+ = 67-69
- D = 63-66
- D = 60-62
- F = Anything less than 60
Canvas will be used to post results of assignments as they are graded but letter grades are not assigned until the end of the term.
Assignments
Assignments will be given each week. If you fall behind you will struggle with the remaining assignments so assignments must be turned in one week from when they are assigned – late assignments will be docked 10% for each week they are late (it’s better to turn in a partial assignment and stay up with the class than to turn in a completed assignment and fall behind).
Please submit assignments to Canvas before the start of the first class of the week after the assignment was given.
Professionalism
Part of my job is to prepare you for being a professional. Professionals are paid to do work and there are standards of conduct that are expected. If you behave in a way that would put you under disciplinary action as a professional, I will mark you down for it. This means:
- Be one time for everything. If you can't let me know why and it needs to be a valid excuse.
- Don't leave in the middle of class unless you have a valid excuse. If that is the case, let me know and sit by the door so you can leave without disturbing the class too much.
- Emails need to be written with standard English including a salutation and signature. Make sure to provide a good, concise, subject line so I can scan for how important it is. Make sure to provide context as I get 100 to 200 emails per day.
- Do good work. If you can't, let me know why and turn in whatever you have.
- Participate. Don't become distracted with mobile devices. When we are having a group discussion, don't discuss topics with the person sitting next to you - share you comments with the group.
Valid Excuses
- Serious illness (i.e. hospitalization)
- Death in the family
- Having to care for a family member with a serious illness
- Military service
Not Valid Excuses
Below are excuses I have received from students that are not valid:
- I had to go to a political protest
- There was a great concert last night
- I'm trying to stop using marijuana
- My roommate was selling marijuana until late
- My house was broken into and my computer was stolen
Quizzes
Quizzes will be given about every two weeks. The quizzes will include Python programming and related information from the web site and material presented in class. The only way to prepare for the quiz is by attending class, reading the material on the web site, and practicing programming.
Final Projects
You'll create you're own Python product as your final project. The final project will serve as your final exam and these will be presented to class during the normal final period.
Extra Credit
There are lots of opportunities for extra credit. If you turn in a partially completed assignment, you can complete it and turn it in again if it is within 1 week of when you received a grade on the assignment. However, don't let this cause you to fall behind. If you attend a seminar (or webinar) that includes spatial programming, you can write up two paragraphs, one on what you heard and one on your professional, critical review of the material, for 2 extra credit points, up to 10 extra credit points total. If you investigate something that is of value to everyone in class, I will add it to the web site and give you an appropriate number of extra credit points based on the amount of work and the value to class.
Extra credit points are added at the end of grading as part of the final grade (i.e. 1 extra credit point can change your overall grade from a 89 to a 90).
Academic Integrity
- You are encouraged to seek help from your fellow students and just about anyone else.
- You are also encouraged to use the Web to find information on how to solve problems.
- To increase your learning, you are advised to type all the code into your assignments. You can copy and paste from the class web site but I recommend you retype the code where feasible. Copying and pasting code from a Web site or another student's assignment will be considered cheating. The one exception is your final project where you can copy and paste code but need to identify the source.
If you cheat on an assignment or a test, you will be given zero credit for that task and the Vice President of Student Affairs will be notified. Students are responsible for knowing policy regarding academic honesty as documented in the HSU Catalog.
Campus Policies and Resources
There are many resources available on campus to help you throughout the semester. Please see the Syllabus Resources web page for a currentlist of resources.
Challenges
All of us have things we are good at and things we struggle with. Being a GIS professional requires a variety of knowledge and skills. This includes being able to connect with the outdoors, to working effectively with computers, and communicating results to a diverse audience. When you find something that is hard for you try some of the techniques below. Also, look for more techniques that I can add to the list:
- Ask others for help
- Try and different approach, keep trying different approaches until something works, ask others for ideas on things to try
- When you have to get through something like (like finishing a challenging lab), promise yourself a small reward (like a chocolate bar, going to a movie, or just going to for a walk), then, give yourself the reward when you've made it through the task!
- If you get really frustrated in front of the computer, get up and take a walk, your brain will relax and you'll be able to think clearly. Often my brain just gives me the answer if I will give it time to come up with it.
- Check the Internet, there are thousands of web sites with answers for GIS questions.
Important Notes
- Put your name and the current date on all documents you turn in.
- 20 Minutes is the longest you should try to solve a problem before you get help!
- Don't turn in assignments late, turn in whatever you have and keep going!
- Work in teams but turn in individual work
- Cite everything you use from other sources
- Practice at and play with programming