Syllabus
- Instructor: Dr. Jim Graham (James.Graham@humboldt.edu)
- Monday & Wednesday: 9:00am to 10:20am, Forestry 203
- Lab is Friday: 1:00pm to 2:50pm, SCIA_364
- 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: Tuesdays 9-10 and Fridays 10-11
This is a 3-credit, 3 class-hour a week 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.
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% lab assignments
- 25% quizzes
- 25% final project
- 10% attendance
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
Moodle will be used to post results of labs and tests 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 lab assignments must be turned in one week from when they are assigned – no late assignments will be taken without a documented excuse (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). There will be a mid-term and a final exam. These will include writing small amounts of code during the exam.
Please submit assignments to Moodle before the start of the first class of the week after the assignment was given.
Mid Term
I will give a "late" mid term instead of a traditional midterm. This will be a short written test and a small program that you'll write in class.
Projects
You'll create you're own Python product as your final project. These are due Thursday of finals week by 5:00pm. The final project will serve as your final exam and these will be presented to class during the normal final period.
Participation
Programming is best done as a team sport – you will rely on your classmates for help one minute and be helping them with something else the next. If you have a problem, find help quickly as most programming problems cannot be “guessed at”. When you find new resources, especially on the web, send them to me and I will distribute them to the class. Your participation on these tasks will be taken into account for your final grade.
Add/Drop policy
Students are responsible for knowing the University policy, procedures, and schedule for dropping or adding classes. See www.humboldt.edu/~reg/regulations/schedadjust.html.
Academic Integrity
You are encouraged to seek help from your fellow students and just about anyone else. At the same time, you are responsible for your work and must complete each assignment independently. You can copy material from web sites and other sources in many cases but you must cite the sources properly.
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.
Attendance and disruptive behavior
Students are responsible for knowing policy regarding attendance and disruptive behavior: http://studentaffairs.humboldt.edu/judicial/attendance_behavior.php.
Emergency evacuation
Please review the evacuation plan for the classroom (posted on the orange signs) for information on campus Emergency Procedures. During an emergency, information can be found campus conditions at 826-INFO or www.humboldt.edu/emergency.
Students with Disabilities
Persons who wish to request disability-related accommodations should contact the Student Disability Resource Center in House 71, 826-4678 (voice) or 826-5392 (TDD). Some accommodations may take up to several weeks to arrange. See http://www.humboldt.edu/disability/ for more information.
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 these techniques and then look for more 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