# GISC 3200K - 2019 Fall

## Lectures

- Lecture 1: Introduction to programming
- Lecture 2: Literals, variables, and constants in Python
- Lecture 3: Numeral systems in Python
- Homework 1: Conversions between numeral systems

- Lecture 4: Basic data types in Python
- Exercise 1: Read two integers

- Lecture 5: Sequence data types in Python
- Lecture 6: Control statements in Python
- Exercise 2: Print the range of an integer using if
- Exercise 3: Print the range of an integer using if, elif, and else
- Homework 2: Summation

- Exercise 4: Dice rolling
- Quiz 1 (programming)
- Lecture 7: Functions in Python
- Homework 3: Rock paper scissors
- Homework 4: Arithmetic calculator

- Discussion 1: Rock paper scissors
- Project proposal
- Discussion 2: Arithmetic calculator
- Lecture 8: Variable scoping in Python
- Lecture 9: Classes in Python
- Exercise 5: TupleLister
- Homework 5: FactSum (only
`sum`

after `fact`

as an exercise)
- Exercise 6: SportsCar

- Exercises: Network programming
- Exercise 7: HTTP client http, http.client, open

- Exercises: Graphics programming
- Exercise 8: Recursive factorial
- Exercise 9: Circle equation math
- Exercise 10: Draw circles turtle, tkinter
- Homework 6: In-class exercises (fact.py, turtle_circle.py, tkinter_x.py)

- Quiz 2 (written)
- Exercises: Raster analysis
- Exercise 11: Read and write GeoTIFF files matplotlib.pyplot, PIL.Image
- Exercise 12: Moving average numpy, matplotlib.pyplot, PIL.Image

- Exercises: Vector analysis
- Exercise 13: Read and write shapefiles geopandas, shapely
- Exercise 14: Vector analysis geopandas, shapely
- Exercise 15: EarthExplorer client json

- Exercises: Animation
- Exercise 16: Conway’s game of life matplotlib.animation.FuncAnimation
- Exercise 17: Moving ball tkinter
- Homework 7: In-class exercises (animation_raster.py, animation_vector.py)

- Quiz 3 (programming)
- Exercise 18: Sum of even numbers between 0 and 100
- Exercise 19: Sum of cross-multiplications of two tuples
- Homework 8: In-class exercises

- Exercise 20: Quiz 3 solution part 1
- Exercise 21: Quiz 3 solution part 2
- Exercise 22: Quiz 3 solution part 3
- Exercise 23: Numerical integration
- Quiz 4 (debugging)