Masthead

This is from a student and it really hits the mark!

Link to Canvas

Note: We will be trying to use Python 3.x this semester! To activate Python 3.x in the Wing IDE:

  1. Select "Properties" from the "Project" menu
  2. Check "Custom"
  3. "Browse" to the Python 3.x directory ("C:/Python3x) and select the "python.exe" file
  4. Click OK

Schedule

Below is an outline of the presentation of topics numbered by week:

  1. Introduction
    1. Introductions
      1. Introduction (PowerPoint)
      2. How to use the web site
      3. What is Python and why would I want to use it?
      4. Fun: Why we should be teaching kids to code
    2. Getting Started with Python and an Introduction to Arithmetic in Python
      1. Quote: "programming is like writing a book...except if you miss out a single comma on page 126 the whole thing makes no damn sense"
      2. Introduction to Programming in Python (in the Wingware IDE)
      3. Documenting Code
      4. Generating Random Numbers
      5. Arithmetic in Python
      6. If you struggle with programming, see: You can grow your intelligence!
        1. The Power of believing that you can improve
  2. How Computers Work and While Loops
    1. How Computers Work
    2. Text and Numeric Types
    3. While Loops
    4. Generating Random Numbers
    5. When you have a chance, check out this online Python Tutor!
  3. "For" Loops, and "If" statements
    1. Boolean Logic and "If" Statements
    2. Lists
    3. "For" Loops.
  4. Strings and writing them to files
    1. Strings are Made Up of Characters
    2. Formatting Strings
    3. Writing to Text Files
    4. Writing to CSV Files
    5. Writing to CSV Files using the Python CSV library (new and optional)
    6. Grid ASCII File Format
    7. Creating ASCII Grid Files
    8. Fun: Programming Language Comparison
  5. Reformatting Data in Text Files With Python
    1. Introduction to Functions
    2. Calling Functions to Get Pie
    3. Sample Locations File
    4. Reading Text Files
    5. Splitting Delimited Strings
    6. Converting Dates
    7. Converting Dates Using a Function
    8. Converting Files of Point Data
    9. Lab: Converting Files
    10. Review outside class:
      1. Additional Variable Types
      2. Source Assistant
      3. Converting Coordinates
    11. For Fun: Record number of UAVs
  6. Accessing data on the Internet
    1. How the Internet Works
    2. Accessing Data on the Internet
    3. Handling Exceptions
    4. The XML Standard
    5. Subsetting Strings
    6. Parsing XML Data
    7. Optional:
      1. The JSON Standard
    8. For fun and motivation: Die-hard Coders Just Rescued NASA's Earth Science Data
  7. Accessing ArcGIS from Python
    1. Note: Using ArcGIS Pro, we need to specify one of the Python installs that comes with ArcGIS Pro:
      1. Open Project Properties in Wing IDE
      2. Browse to "c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe"
    2. An Overview of ArcGIS Functions
    3. Calling ArcGIS From Python
    4. Flavors of ArcGIS functions
    5. Adding Try/Except Blocks
    6. Finding the Format for arcpy Parameters
    7. Calling ArcGIS Pro From Python 3.x with Wing 6.0
    8. Assignment: Calling ArcGIS to Compute Watersheds (Extra Credit)
  8. Batch Processing With Python
    1. Batch Processing in Python
    2. More on ArcGIS functions
    3. Accessing Attributes
    4. Running Python From the Command Line
    5. Debugging With Log Files (optional)
  9. User Interfaces and Classes
    1. Graphical User Interfaces (GUIs)
    2. Getting Started with PyQt
    3. An Introduction to Classes
    4. Fun
  10. Other Packages
    1. Design
      1. Classes, Modules, and Functions
    2. Other Libraries/Packages
    3. NumPy & SciPy
    4. Introduction to Charting
    5. Shapefile Format
    6. Shapefile.py
    7. Getting File Paths from the user with Qt
    8. Getting File Paths from the User with tkinter
    9. The Expert, for fun
    10. New library: GeoViews
  11. Open Source GIS Packages
    1. OpenSource GIS Packages
    2. SpPy Package (in development)
    3. Structuring Folders
    4. Documenting Programs
    5. Optional: Java and BlueSpray
  12. Getting Anything to Work!
    1. Writing code that can be debugged and maintained
    2. Sub-Launching Other Programs
    3. The Ultimate ArcGIS Tools
  13. Simple Models
    1. New: Simple Painting with Qt
    2. Old with tKinter: The Blob Class
    3. Cool stuff: Bird Migrations
  14. Creating larger projects
    1. Software Life cycle
    2. Investigation
    3. Design
      1. Classes, Modules, and Functions
    4. Implementation
    5. Testing
    6. Release
    7. Maintenance
  15. Where to Go From Here
    1. What will the world look like in 2100?
    2. Discussion: Where to go from here
    3. Review Test (optional)
    4. Interactive Python on the Web?
  16. Final Projects Due by 5:00pm on Friday at the latest!
    1. Final Exam: Friday, May 17 8:00 - 9:50 AM, location TBD

Other Resources:

Machine Learning in Python

ArcPy and ArcGIS-geospatial Analysis with Python : Use the ArcPy Module to Automate the Analysis and Mapping of Geospatial Data in ArcGIS (in our library)

Python Programming Learning Resources

Official Python Website

Python Tutorial

Dive Into Python (e-book)

Link to Tracy Kugler's Examples for ArcGIS 9

PyOpenGL

tutorialspoint Python Programming

Ton's of programming cartoons

National Climate Data

Think Python

Beginner's Guide to SQL

Old Materials

Old tKinter GUI modules:

  1. The Python GUI
  2. Dialog Boxes in tkinter

Building ArcGIS tools with Python

  1. Creating Custom Tools in ArcGIS
  2. Debugging ArcGIS Tools
  3. A Note on Model Builder To Python (optional)

© Copyright 2018 HSU - All rights reserved.