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