Dr. Cho’s Website
Course Materials

GISC 3200K - Programming for Geospatial Science & Technology

1   Lectures

  1. Lecture 1: Introduction to programming (incomplete)
  2. Lecture 2: Literals, variables, and constants in Python
    1. Homework 1: Conversions between numeral systems
  3. Lecture 3: Basic data types in Python
    1. Exercise 1: Read two integers
  4. Lecture 4: Sequence data types in Python
  5. Lecture 5: Control statements in Python
    1. Exercise 2: Print the range of an integer using if
    2. Exercise 3: Print the range of an integer using if, elif, and else
    3. Homework 2: Summation
  6. Exercise 4: Dice rolling
  7. Quiz 1 (programming)
  8. Lecture 6: Functions in Python
    1. Homework 3: Rock paper scissors
    2. Homework 4: Arithmetic calculator
  9. Discussion 1: Rock paper scissors
  10. Project proposal
  11. Discussion 2: Arithmetic calculator
  12. Lecture 7: Variable scoping in Python
  13. Lecture 8: Classes in Python
    1. Exercise 5: TupleLister
    2. Homework 5: FactSum (only sum after fact as an exercise)
  14. Exercises: Network programming
    1. Exercise 6: HTTP client http, http.client, open
  15. Exercises: Graphics programming
    1. Exercise 7: Recursive factorial
    2. Exercise 8: Circle equation math
    3. Exercise 9: Draw circles turtle, tkinter
    4. Homework 6: In-class exercises (fact.py, turtle_circle.py, tkinter_x.py)
  16. Quiz 2 (written)
  17. Exercises: Raster analysis
    1. Exercise 10: Read and write GeoTIFF files matplotlib.pyplot, PIL.Image
    2. Exercise 11: Moving average numpy, matplotlib.pyplot, PIL.Image
  18. Exercises: Vector analysis
    1. Exercise 12: Read and write shapefiles geopandas, shapely
    2. Exercise 13: Vector analysis geopandas, shapely
    3. Exercise 14: EarthExplorer client json
  19. Exercises: Animation
    1. Exercise 15: Conway’s game of life matplotlib.animation.FuncAnimation
    2. Exercise 16: Moving ball tkinter
    3. Homework 7: In-class exercises (animation_raster.py, animation_vector.py)
  20. Quiz 3 (programming)
  21. Exercise 17: Sum of even numbers between 0 and 100
  22. Exercise 18: Sum of cross-multiplications of two tuples
    1. Homework 8: In-class exercises
  23. Exercise 19: Quiz 3 solution part 1
  24. Exercise 20: Quiz 3 solution part 2
  25. Exercise 21: Quiz 3 solution part 3
  26. Exercise 22: Numerical integration
  27. Quiz 4 (debugging)

2   Project ideas

3   Past projects

GitHub repository

4   References