Semester-long graduate school class, taken at Johns Hopkins University - weekly assignment descriptions below.
This week will review Python basics. The topics will cover looping, data types and other Python syntax.
This week will be a review of developing classes and other structures.
This week students will begin to analyze code performance. Algorithm analysis is just calculating the speed/time it takes to complete some task. Some tasks take constant time and some algorithms take exponential time along with everything in between. This lesson will cover the analysis of these questions.
Week 4 - Basic Geometric Operations
This weeks lesson focuses on the essential algorithms in GIS that involve geometric operations.
Week 5 - Recursion and Array-based Sequences
This week will introduce recursion and will introduce array-based sequences.
This week students will explore the common task of intersections with geometries.
This week will introduce the basics of sorting and analyze the performance of various sorting algorithms.
This week will introduce students to the concepts of trees and the terminology associated with this data structure.
This week will introduce binary search trees and cover topics related to this data structure.
Week 10 - Introduction to Spatial Indexes
This week will introduce spatial indexing for points, lines and polygons. It will show how you can quickly find and locate spatial information.
This week will dive into another common tree format called k-D Tree. k-D Trees are a widely used GIS data structure that allows individuals to perform distance searches quickly.
This week will dive into another common spatial index called a QuadTree. This data structure is used to partition spaces into smaller regions and track what is in them. This lesson will examine them in detail.
This week will cover Graph Algorithms and their uses.