Back to Logs
2026-01-20

Protocol: Spring 2026 ICPC Training Curriculum

The architectural roadmap for the ACM @ ASU competitive programming track. Transitioning from O(N2)O(N^2) to O(1)O(1) across six bi-weekly sessions.

Sunday Labs Banner

Mission Statement

  • Lead: Souradeep Banerjee
  • Context: ACM @ ASU "Sunday Labs" (Spring 2026)
  • Location: Durham Hall 106
  • Target: Midterm Tournament (Mar 6) & Final ICPC Qualifier (May 1)

This curriculum bridges the gap between standard LeetCode "Interview Prep" and high-performance "Competitive Programming." While interview prep focuses on pattern recognition, this track enforces strict time-complexity constraints (10810^8 operations per second) and C++ STL optimization.

The Roadmap

The curriculum is divided into six iterative sessions, moving from array manipulation to advanced graph theory.

SessionTopicFocusDate
S01FoundationsPrefix Sums & O(1)O(1) QueryingJan 25
S02GraphsDFS/BFS & Connected ComponentsFeb 08
S03Dynamic Programming IMemoization & 1D StateFeb 22
S04MathematicsNumber Theory & Modular ArithmeticMar 22
S05TreesTraversal & Range QueriesApr 05
S06Final StrategyAdvanced DP & Contest StrategyApr 19

Technical Prerequisites

  1. Language: C++17 or higher (for STL support).
  2. Environment: Local GCC setup or a cloud IDE (CPH extension recommended).
  3. Core Knowledge: Big O Notation, basic Array/Vector manipulation.

Standard Template

For all sessions, we will utilize a standardized C++ template optimized for fast I/O. Please ensure you have an input.txt file in your local VS Code repository to pipe test cases efficiently.

// Compilation & Execution Instructions:
// g++ main.cpp -o main
// .\main
// PowerShell: Get-Content input.txt | .\main.exe
// Bash: cat input.txt | .\main.exe

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

void solve() {
    // Algorithm logic goes here
}

int main() {
    // Fast I/O Optimization
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int t = 1;
    cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}

Grading & Logistics

  • Time: Sundays, 11:00 AM - 01:00 PM (ICPC Primer Slot).
  • Location: Durham Hall 106.
  • Sunday Labs: Our session is immediately followed by the ACM "Lunch & Social" hour (1:00 PM - 2:00 PM), providing a great opportunity to debrief on problems.
  • Attendance: Not mandatory but highly correlated with tournament performance.