Level 2 Training (2025)
This advanced program covers core Level 2 topics like recursion, dynamic programming,
and graph algorithms, with curated videos and problem-solving sessions to deepen your understanding and prepare
you for complex competitive programming challenges.
Level 2 Program Overview
Our Level 2 training is an intensive 7-sprint program designed to advance your competitive programming skills
from intermediate to advanced levels. Each sprint focuses on sophisticated algorithms and data structures with
comprehensive practice, contests, and guidance from our expert coaching team.
Program Structure:
- 7 comprehensive sprints covering advanced algorithms and problem-solving techniques
- Regular contests to test your mastery of complex concepts
- Curated resources including expert recordings, detailed notes, and challenging problems
- Expert-led sessions for advanced instruction and specialized guidance
- Focus on contest performance preparing you for Div1 and advanced competitions
Your Level 2 Coaches:
Meet the expert coaches who will guide you through advanced competitive programming concepts. Click on any
coach to learn more about them.
Ready to master advanced competitive programming? Let's explore the sprint breakdown:
Sprint 1: Recursion and Backtracking
- Advanced recursion techniques and optimization strategies.
- Backtracking algorithms for systematic solution space exploration.
- Memoization and recursive optimization techniques.
- Complex recursive problem patterns and implementation strategies.
- Practice with challenging recursive and backtracking problems.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Gold Community Sessions |
Community |
View |
Dr. Mostafa Saad (Concept Review) |
Dr. Mostafa Saad |
View |
Backtracking Session |
Hazem Adel |
View |
Recursion Practice Session |
Community (Ahmed Wageh) |
View Folder |
Sprint 2: Introduction to Dynamic Programming
- Fundamental Dynamic Programming concepts and paradigms.
- State definition and transition identification techniques.
- Bottom-up and top-down DP implementation approaches.
- Classical DP problems: LIS, LCS, Knapsack variations.
- Optimization techniques and space complexity reduction.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Gold Community Sessions |
Community |
View |
Your Guide to DP |
Community |
View |
Sprint 3: Graph Theory Fundamentals
- Graph representation techniques: adjacency lists and matrices.
- Depth-First Search (DFS) and its applications.
- Breadth-First Search (BFS) and shortest path in unweighted graphs.
- Topological sorting and cycle detection algorithms.
- Connected components and graph traversal optimization.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Graph Representation - DFS Session |
Community (Sersawy) |
View |
DFS Practice Session |
Community (Elhabal) |
View |
BFS - Topo Sort Session |
Community (Ahmed Wageh) |
View |
BFS Practice Session |
Community (Ahmed Mousa) |
View |
Topo Sort Practice Session |
Community (Mohamed Khaled) |
View |
Sprint 4: Advanced Dynamic Programming Techniques
- DP with output construction and path reconstruction.
- Bitmask DP for state compression and subset enumeration.
- Digit DP for number-based constraint problems.
- Range DP for interval-based optimization problems.
- Advanced DP optimization techniques and applications.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
DP with Building Output Session |
Community (Ahmed Wageh) |
View |
DP Building Output Practice Session |
Community (Hossam Saber) |
View |
DP Masking and Digits Session |
Community (Ahmed Wageh) |
View (Part 1)
View (Part 2)
View (Part 3) |
DP Masking and Digits Practice Session |
Community |
View |
DP Ranges Session |
ICPC Mansoura Community |
View |
Sprint 5: Shortest Path Algorithms
- Dijkstra's algorithm for single-source shortest paths in weighted graphs.
- Bellman-Ford algorithm for handling negative edge weights.
- Floyd-Warshall algorithm for all-pairs shortest paths.
- Applications in network optimization and pathfinding problems.
- Advanced shortest path variants and optimization techniques.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Dijkstra Session |
Community (Ameen Osama) |
View |
Dijkstra Practice Session |
Community |
View |
Bellman Ford Session |
Community (Khaled Labeb) |
View |
Floyd Warshall Session |
Community (Khaled Labeb) |
View |
Sprint 6: Counting & Combinatorics
- Advanced counting principles and combinatorial techniques.
- Mathematical series and summation formulas.
- Combinatorial identities and their applications.
- Probability and expected value calculations in competitive programming.
- Generating functions and advanced combinatorial structures.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Sum Series Session |
Community (Sersawy) |
View |
Sum Series Practice Session |
Community (Maryam Abdelhady) |
View |
Combinatorics Session |
Community (Sersawy) |
View |
Combinatorics Practice Session |
Community (Mohamed Hani) |
View |
Sprint 7: Disjoint Union Set (DSU) & Minimum Spanning Tree (MST) 🔥 Current Sprint
- Disjoint Set Union data structure with path compression and union by rank.
- Applications of DSU in connectivity and component problems.
- Minimum Spanning Tree algorithms: Kruskal's and Prim's algorithms.
- MST applications in network design and optimization problems.
- Advanced graph connectivity and spanning tree variations.
Topic Resources:
Title |
Coach / Instructor |
Recording / Material |
Disjoint Set (Very Recommend) |
Pavel (ITMO University) |
View |
Edu Codeforces Course (Very Recommend) |
ITMO Course |
View |
DSU Session |
Community (Mahmoud Khaled) |
View |