Intermediate

Advanced

Beginner

Number Theory

Modular Arithmetic

Factorization

Euclid's GCD Algorithm

Primality Testing

Basic Data Structures

Non-linear data structures

Linear data structures

Additional Concepts in C++

STL Data structures

STL concepts

STL algorithms

Memory Management

Object-Oriented Programming

Greedy Algorithms

Introduction to greedy algorithms

Classical Problems

Sorting & Searching Algorithms

Searching Algorithms

Introduction to Sorting

Sorting algorithms

Dynamic Programming & Recursion

Recursion

Dynamic programming

Classical Problems

Discrete Mathematics

Proof Techniques

Graph Theory

Combinatorics

Probabilty

Sets, Functions and Relations

Square Root Decomposition

Square Root Decomposition