GISC 5200K - Programming for Geospatial Science & Technology

See also GISC 3200K.

1   Lectures

  1. Lecture 1: Introduction to programming
    1. How to set up Python for geospatial science and computing
    2. Programming pre-assessment
    3. Homework 1: Pre-assessment grading
  2. Quiz 1
  3. Lecture 2: Python in ArcGIS Pro 1
    1. Homework 2: Classification of Georgia counties using Calculate Field
  4. Lecture 3: Python in ArcGIS Pro 2
  5. Exam 1
  6. Lecture 4: Literals, variables, and constants in Python
    1. Exercise 1: Literals and variables
  7. Lecture 5: Numeral systems in Python
    1. Homework 3: Conversions between numeral systems
  8. Lecture 6: Basic data types in Python
    1. Exercise 2: Read two integers
    2. Exercise 3: User input and type casting
    3. Exercise 4: Geospatial computation
    4. Exercise 5: Understand input()
    5. Exercise 6: Why type casting?
  9. Lecture 7: Sequence data types in Python
    1. Exercise 7: Read a GeoTIFF file as a NumPy array using GDAL
    2. Exercise 8: Read a GeoTIFF file as a NumPy array using ArcPy
    3. Exercise 9: List and indexing
  10. Lecture 8: Control statements in Python
    1. Exercise 10: Branch
    2. Exercise 11: Debug branching
    3. Exercise 12: Print the range of an integer using if
    4. Exercise 13: Print the range of an integer using if, elif, and else
    5. Exercise 14: for and list
    6. Exercise 15: for and forward indexing
    7. Exercise 16: for and reverse indexing
    8. Exercise 17: Summation using a for loop
    9. Exercise 18: Summation using a while loop
    10. Homework 4: Summation
    11. Homework 5: Random integers
  11. Lecture 9: Functions in Python
    1. Exercise 19: Define your first function
    2. Exercise 20: Non-returning function
    3. Exercise 21: Add function
    4. Exercise 22: Why functions?
    5. Exercise 23: Distance function
    6. Exercise 24: Yet another distance function
    7. Exercise 25: File-writing function
    8. Exercise 26: File-reading function
    9. Exercise 27: Directory-listing function
    10. Exercise 28: Create number files
    11. Exercise 29: Add numbers from the number files
    12. Exercise 30: Generate random integers
    13. Exercise 31: User-input function
    14. Exercise 32: Plot a GeoTIFF file
    15. Exercise 33: Calculate the average cell value of a GeoTIFF file
    16. Homework 6: Toxicode Python certificate of completion
  12. Exercise 34: How to extract cell values from a GeoTIFF file using NumPy
  13. Exercise 35: How to classify a GeoTIFF file using NumPy
  14. Exercise 36: How to detect changes between two GeoTIFF files using NumPy
  15. Exercise 37: How to save a NumPy array as a GeoTIFF file using GDAL
  16. Exercise 38: How to calculate the area of a certain class in a GeoTIFF file using NumPy
  17. Project proposals
  18. Class project 1: Rock-paper-scissors game
  19. Exam 2
  20. Quiz 2
  21. Class project 2: Thiessen polygon algorithm in Python (not completed)
  22. Quiz 3
  23. Review fundamentals
  24. Quiz 4
  25. Class project 3: Noise reduction in images

2   Research ideas

Please see me if you’re interested in any of these ideas.

3   Past materials

4   Past projects

4.1   Fall 2020

6   References

6.1   Python

6.2   ArcPy

6.3   Mathematics

6.4   Geometric analysis

6.5   Challenges