- Introduction
- Mathematics
- Data Structures
- Dynamic Programming (DP)
- Combinatorial Games
- Basic Graph Algorithms
- Shortest Path Algorithms
- Network Flow Problems
- Computational Geometry
- String Algorithms
- Suffix Arrays
- CS 97SI: Introduction to Programming Contests. Jaehyun Park. stanford.edu . 2011.