Geo 318 – Introduction to GIS Programming

Slides:



Advertisements
Similar presentations
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
Advertisements

James Tam Introduction To CPSC 231 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
SE 350 – Programming Games Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked with TODO) 2/10/20121.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Jim Graham, Humboldt State University Geospatial Research Methods Instructor: Jim Graham
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Welcome to CSIS10A Computer Science: Beginning Programming Please, take a syllabus.
Introduction to Programming Peggy Batchelor.
CSCE 1040 Computer Science 2 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Fall 2o12 – August 27, CMPSC 202 First Day Handouts  Syllabus  Student Info  Fill out, include all classes and standard appointments  Return.
Final Exam Review Session 14 LBSC 790 / INFM 718B Building the Human-Computer Interface.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Lecture 1: Overview CMSC 201 Computer Science 1. Course Info This is the first course in the CMSC intro sequence, followed by 202 CS majors must pass.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
Jim Graham, Humboldt State University eographic nformation ystems Instructor: Jim Graham Introduction to Concepts.
BIT 143: Programming – Data Structures It is assumed that you will also be present for the slideshow for the first day of class. Between that slideshow.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
CIS101 Introduction to Computing Week 01. Agenda What is CIS101? Class Introductions Using your Pace Introduction to Blackboard and online learning.
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
7 th Grade Big6 Project Assignment: Make a children’s informational book (It can be in graphic novel format or regular picture-book format)
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Gachon University has a strict grading policy. LESS than 25% of students can get an A LESS than 40% of students can get a B Everyone else must get a C.
Introduction to CSCI 1311 Dr. Mark C. Lewis
How to Succeed in Algebra 2 With Mr. Lizarraga San Pedro High
Geo 318 – Introduction to GIS Programming
Course Information and Introductions
CSC207 Fall 2016.
CSc 1302 Principles of Computer Science II
Course Information and Introductions
Introduction to Eclipse
EECS 110: Introduction to Programming for Non-Majors
Introduction to Programming
Online Course Design: Is the Conversation Over?
CSE 374 Programming Concepts & Tools
Quality Enhancement Plan at Brookhaven College
GC101 Introduction to computers and programs
It’s called “wifi”! Source: Somewhere on the Internet!
The Do’s and don’t of studying
Foundations of Programming: Introduction to Programming
Geo 118/318 – Introduction to GIS Programming
Welcome to CS 1010! Algorithmic Problem Solving.
Course Overview - Database Systems
Geospatial Research Methods
Welcome to CS 1010! Algorithmic Problem Solving.
EECE 310 Software Engineering
This Class This is a graduate level spatial modeling class in natural resources This will be one of the most challenging classes you’ll probably take You’ll.
The Five Stages of Writing
Unit 1 The History of Earth Overview and Unit Guide
SWE 205 Software Usability Analysis and Design
Accelerated Introduction to Computer Science
Jim Graham Bachelor's in CS and Math from Chico State
This Class This is a graduate level spatial modeling class in natural resources This will be one of the most challenging classes you’ll probably take You’ll.
Tonga Institute of Higher Education IT 141: Information Systems
CS 2530 Intermediate Computing Dr. Schafer
A First Program.
Introduction To CPSC 233 James Tam Event driven software
Lecture 1a- Introduction
Tonga Institute of Higher Education IT 141: Information Systems
CS Problem Solving and Object Oriented Programming Spring 2019
Introduction To CPSC 233 James Tam Event driven software
Welcome to the First-Year Experience!
Jim Graham Bachelor's in CS and Math from Chico State
GSP 470/570 Advanced Geospatial Analysis and Modeling
This is a template for a presentation that you can use to introduce your team to Harvest. You can customize the content of the slides. You’ll want to pay.
Presentation transcript:

Geo 318 – Introduction to GIS Programming Dr. Jim Graham

Introductions What is your name? What is your major? Where did you grow up? How did you end up at HSU? What are your interests/hobbies?

Why are you here? You’re paying about $50 per lecture/lab Why?

Why Program? Automate tasks Speed up tasks Repeated over and over again Speed up tasks Computers can run 24/7 Allows for “exact” replication of processes Except that the libraries you call will change! “Encapsulate” functionality and expertise You and everyone else can use it

Class Goals Focus: Geospatial Programming How computers work Python How to program & debug code How to tackle geospatial programming tasks Python By itself With ArcGIS With other software Software development Documentation Management/Phases Meeting users NEEDS

We are not learning… Everything about Python It’s a huge language that is growing all the time! You only need a fraction of what is out there The challenge is to find that fraction and get good at it! Everything about programming ArcGIS You will learn how to find anything available in programming ArcGIS Everything about programming GIS More on this later…

We are learning… Everything you need to figure out how to solve any programming problem in GIS that can be solved! Programming Debugging Finding answers Getting help Introduction to the larger world of software development

To be Successful Types of learning: Knowledge and concepts Skills Review the material on the website Take notes and review them! Skills The only way to learn to ride a bike is to get on one The only way to learn to program is to do it 7 hours outside of class per week at least! Communication and Teamwork Teams of 3-4 throughout the semester

Learning Process Read & practice material on web site Quizzes encourage reading and let me know if topics are sinking in Interactive lectures on critical and sticky areas Take notes in your notebook Start assignments early “Play” until comfortable with the material Turn in what you have! (including comments) Repeat from 1

Structure (con’t) Canvas for assignments Website for weekly content Weekly homework -> Final project Website for weekly content Google Group for group communication Teams of 3-4 There is no book but the web is full of great (and terrible) resources

Resources for Help ArcGIS help – best for Arc libraries The Web – search for answers ListServs – including Canvas blogs Your team Me and the tutors Others? Anyone you can find who might have dealt with the same problem!

Previously, 10% did not pass! If you fall behind in this class you will not pass! Each week we learn concepts that are used the next week We move together as a whole group Attendance is mandatory If you miss a class, make sure you catch up and get assignments in Assignments must be in on time If you fall behind you’ll be working on the wrong assignment

Keep Up with the Pack! This class moves! Turn in labs each week I’ll introduce a new topic and then you’ll have time to practice and work on the assignment This is a skills class, not everything you need to know is online – you’ll need to attend classes Turn in labs each week Complete assignments outside of class and then turn in whatever you have when it is due Get help when you need it! If you get stuck for 20 minutes, get help!

Final Projects GIS Programming Problem Must include some code you have written Must apply to a GIS application Class is 15 weeks – don’t build a biomass model for the earth! Start getting the data now!

Examples Harvest tree ring data to create a map in GoogleEarth with growth charts Program to compute likely camping sites in wilderness areas Program to mosaic Landsat scenes for anywhere in US Simulation of werewolves chasing people Kiosk using RaspberryPi

Repeating Problems Getting students to program (not just copy from other students or the web) Start early (program some each day) Not showing up or dropping out rather then getting help How can we minimize these and other problems? Please meet in groups of four and then have one person add your groups ideas to the board

Ready to become a NERD? Learn a bunch of new terms (mostly TLAs) Think like a computer Amaze (and confuse) your friends! Get a whole new wardrobe!

Definitions Code – Instructions for a computer Programming/Coding – writing, documenting, and testing code Program – A file with instructions for a computer to execute to complete a task Application – A program with a graphic user interface (as opposed to a command line interface) Library – A file with code for a computer to be used by other programs

Big Picture ArcGIS Desktop Wing IDE Other Programs Model Builder Python Scripts ArcGIS Libraries Other Libraries Data Data includes GIS (spatially referenced) and non-spatially reference

Why Python? ESRI’s primary scripting language (for now) Very popular in GIS (Arc and OpenSource) Very flexible (can solve lots of problems) Well supported (with Wing IDE) Easy to learn (relative to complied languages) Portable But it is not the fastest language Compiled (C/C++, Java, C#) are faster