Love competitive programming? Start here.
Whether you're just discovering algorithms, aiming for APCS, or training for TOI / IOI — eight tiers from Level 0 to Level 7 welcome every learner who wants to get serious about competitive programming.
Why AACPOJ?
Complete 8-tier course path
From Level 0 fundamentals to Level 7 advanced — basics to IOI prep, end to end.
Teacher-curated problem sets
No more guessing what to practice — weekly assignments hand-picked by your instructor.
Built-in notes system
Write problem write-ups, organize your thinking, share with classmates. Markdown + code in one place.
Online IDE + live collab
Monaco Editor + Yjs realtime collab — pair-program assignments with classmates.
Progress in sync with class
Assignment progress, exams, and class events sync in realtime — never miss a weekly milestone.
External OJ integration
Link Codeforces, AtCoder, CSES, NCOJ, TIOJ — unify your AC record across platforms.
Course topic map by level
From zero-baseline C++ syntax to advanced contests — a tiered path so every student knows where they are and where to go next.
C++ Syntax
C++ fundamentals and programming logic.
C++ Implementation
Using core C++ tools / building implementation skill / first steps in performance tuning.
Algorithms
Math in competitive programming / intro to algorithm design and optimization / intro to data structures.
Algorithms
Core algorithms / STL containers / basic graph theory / greedy.
Algorithms
Recursive thinking / dynamic programming.
Algorithms
Graph theory / data structures.
Algorithms
Problem-solving methodology / advanced algorithms and integrated techniques.
Algorithms
Advanced algorithms and integrated techniques.
Algorithms
Advanced algorithms and integrated techniques.
Full curriculum, contest goals, and hour breakdown: AA Competitive Programming roadmap →
Ready to begin?
Sign up to browse public problems and course intros. Classes are joined by teacher invite.