Geo 318 – Introduction to GIS Programming

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.
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.
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
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
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!
Introduction to Programming Peggy Batchelor.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 13: An Introduction to C++
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.
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.
Software Development. Software Development Loop Design  Programmers need a solid foundation before they start coding anything  Understand the task.
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.
Geo 118/318 – Introduction to GIS Programming Dr. Jim Graham.
MET4750 Techniques for Earth System Modeling MET 5990 Techniques for Earth System Modeling and Research (
Introduction to CSCI 1311 Dr. Mark C. Lewis
Programming vs. Packaged
Why don’t programmers have to program in machine code?
Instructor: Jim Graham
Lecture 1b- Introduction
Software Development.
MET4750 Techniques for Earth System Modeling
CSC207 Fall 2016.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Introduction to Eclipse
A451 Theory – 7 Programming 7A, B - Algorithms.
Application Development Theory
PHP / MySQL Introduction
Introduction CSE 1310 – Introduction to Computers and Programming
Geo 118/318 – Introduction to GIS Programming
TRANSLATORS AND IDEs Key Revision Points.
Assembler, Compiler, Interpreter
Programming vs. Packaged
Dynamic Web Pages JavaScript Jill Thomas Oct 14, 2003.
Introduction to Computers and Python
Programming for Geographical Information Analysis: Advanced Skills
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
Programming for Geographical Information Analysis: Advanced Skills
Assembler, Compiler, Interpreter
and Program Development
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 318 – Introduction to GIS Programming Dr. Jim Graham

Class Goals Focus: Programming in GIS With Python Software development 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 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

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 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

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