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
3. Lecture 3: Basic data types in Python
4. Lecture 4: Sequence data types in Python
5. Lecture 5: Control statements in Python
6. Exercise 4: Dice rolling
7. Quiz 1 (programming)
8. Lecture 6: Functions in Python
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)

## 3   Past projects

GitHub repository