Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.

Slides:



Advertisements
Similar presentations
Foundations of Programming and Problem Solving Introduction.
Advertisements

Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Course: Introduction to Computers
Chapter 6: Hostile Code Guide to Computer Network Security.
Lesson 4 Computer Software
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA Prof. Dr. Paulo Brasko Ferreira Fall 2014.
Enterprise ETL & the Home Again
Overview Dennis L. Johnson What is GIS? Geographic Information System Geographic implies of or pertaining to the surface of the earth Information implies.
Introduction CSE 1310 – Introduction to Computers and Programming
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
Jim Graham, Humboldt State University Geospatial Research Methods Instructor: Jim Graham
Please take a seat Choose any seat except mine DON’T touch the computers! Don’t sit near someone who might get you in trouble!
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 13: An Introduction to C++
CS 114 – Class 02 Topics  Computer programs  Using the compiler Assignments  Read pages for Thursday.  We will go to the lab on Thursday.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
1 3. Computing System Fundamentals 3.1 Language Translators.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Introduction to Software Software. Types of software Click on each type of software to find out what it does.
C++ and Ubuntu Linux Review and Practice CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and.
Computing System Fundamentals 3.1 Language Translators.
Introducing Software Computer Concepts Unit A. Introducing Software What is an Operating System? OS is the master controller for all the activities that.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
Jim Graham, Humboldt State University eographic nformation ystems Instructor: Jim Graham Introduction to Concepts.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Programming vs. Packaged
Lecture 1b- Introduction
Geo 318 – Introduction to GIS Programming
MET4750 Techniques for Earth System Modeling
Introduction to Eclipse
Geo 118/318 – Introduction to GIS Programming
Assembler, Compiler, Interpreter
Programming vs. Packaged
Introduction to Computers and Python
CS 1302 Programming Principles II
PROGRAMMING What is it?.
Geo 318 – Introduction to GIS Programming
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
CS105 Introduction to Computer Concepts Intro to programming
Java Online documentation
Accelerated Introduction to Computer Science
Assembler, Compiler, Interpreter
Problem Solving Using C: Orientation & Lecture 1
Java Programming Introduction
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Software Lesson 3.
What is Programming Language
1.3.7 High- and low-level languages and their translators
CS Problem Solving and Object Oriented Programming Spring 2019
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham

Class Goals Focus: Programming in GIS – How computers work – How to program & debug code – How to tackle GIS programming tasks With Python – By itself – With ArcGIS – With other packages 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 – Intro to the larger world of software development

Resources for Help ArcGIS help – best for Arc libraries The web – search for answers ListServs – including Moodle blogs Other students – make friends in this class Me and the TA Others? – Anyone you can find who might have dealt with the same problem!

Last Semester 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! – 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

About Me Programming for over 30 years! Developer, Manager, CEO, Research Scientist, Professor Operating systems: CPM, Apple, DOS, Mac, Windows, and others Languages: Machine code, assembly, Pascal, Fortran, C/C++, VBA, Visual Basic, Forth… Most recently: PHP, JavaScript, Java, SQL, Python

Me and ArcGIS Worked on ArcGIS 8 beta – Helped improve performance of raster transforms 10x – Visual Basic Lots of VBA, some C/C++, now Python And I teach classes on using GIS and applying it to natural resource problems

Why Program? Automate 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

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 Libraries Model BuilderPython Scripts Wing IDEArcGIS Desktop Data Other Libraries Other Programs 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