2026-01-20
Protocol: Spring 2026 ICPC Training Curriculum
The architectural roadmap for the ACM @ ASU competitive programming track. Transitioning from to across six bi-weekly sessions.

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 ( 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.
| Session | Topic | Focus | Date |
|---|---|---|---|
| S01 | Foundations | Prefix Sums & Querying | Jan 25 |
| S02 | Graphs | DFS/BFS & Connected Components | Feb 08 |
| S03 | Dynamic Programming I | Memoization & 1D State | Feb 22 |
| S04 | Mathematics | Number Theory & Modular Arithmetic | Mar 22 |
| S05 | Trees | Traversal & Range Queries | Apr 05 |
| S06 | Final Strategy | Advanced DP & Contest Strategy | Apr 19 |
Technical Prerequisites
- Language: C++17 or higher (for STL support).
- Environment: Local GCC setup or a cloud IDE (CPH extension recommended).
- 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.