Competitive Programming Path
A step-by-step competitive programming curriculum: from algorithmic foundations to expert topics. Every level contains lessons with theory, code examples, and auto-checked practice problems. If you are a complete beginner, start with one of the programming language courses first.
In this section
- 1Level 1. Algorithmic Foundations
Algorithm complexity, implementation problems, and basic math — the foundation for everything that follows.
- 2Level 2. Sorting and Searching
Classic techniques that appear in almost every contest problem: sorting, two pointers, prefix sums, and binary search.
- 3Level 3. Data Structures and Greedy Algorithms
Stack, queue, sets and maps, recursion, greedy algorithms, and DSU — the toolkit for mid-level problems.
- 4Level 4. Graphs and Dynamic Programming
Graph traversals, shortest paths, spanning trees, and your first dynamic programming problems.
- 5Level 5. Advanced Topics
Advanced DP, segment trees, string algorithms, and number theory — the level of regional olympiad prize winners.
- 6Level 6. Expert Topics
Flows, suffix structures, and computational geometry — international-level topics.