ICPC UNIVERSITY

Search the commons

Start typing to search pages, curriculum topics, practice, tools, and events.

Learn & Practice

Choose your next useful step.

Build foundations, strengthen skill, coach a team, or prepare a contest—without searching through a maze of resources.

Search all verified resources ↓
LEARN · ICPC U
LEARNExplore the commons

RESOURCE FINDER

Find the right next step.

Search by topic, then narrow by audience, level, or resource type. Every result links to its current destination and shows when it was last verified.

52 resources
COURSE · ALL LEVELS

ICPC Curriculum

Four progressive topic maps with Course I materials and trusted interim practice.

Open curriculum →
GUIDED MODULES · COURSES II–IV

Advanced Guided Modules

Learn, build, practice, and verify one maintained module at each advanced course band.

Start Course II →
PROBLEM LIBRARY · 72 TASKS

Mapped Starter Set

A finishable sequence of attributed tasks with topics, course bands, and local progress.

Open the starter set →
COURSE · BEGINNER

Beginner Training Path

Start programming and problem-solving with a guided introductory route.

Open beginner path →
LECTURES · ALL LEVELS

Expert Lectures

Learn algorithms, reasoning patterns, and research from ICPC alumni and educators.

Browse lectures →
PRACTICE · ALL LEVELS

Online Judges

Compare judging platforms and problem collections for deliberate practice.

Choose a platform →
PRACTICE · INTERMEDIATE+

World Finals Problems

Work through official past ICPC World Finals problem sets.

Open problem archive ↗
ARCHIVE · 2021

Solution Walkthroughs

Review archived explanations and videos for advanced contest problems.

Watch walkthroughs →
GUIDE · NEW COACH

New Coach Guide

Official registration guidance, rules, and team-training resources.

Open coach guide →
EVENT · TEAM TRAINING

Training Camps

Find intensive programs and archives for university teams.

Browse camps →
TOOLS · ORGANIZERS

Contest Tools & Standards

Systems, specifications, problem development, judging, and operations guidance.

Open contest tools →
PRACTICE · TOPIC-BASED

CSES Problem Set

Build fluency across core algorithmic categories.

Open CSES ↗
PRACTICE · CURATED

Methods to Solve

Find high-quality problems organized by algorithmic topic.

Open curated problems ↗
PRACTICE · CONTEST ARCHIVE

Kattis

Solve contest problems across difficulty levels and algorithmic topics.

Open Kattis ↗
PRACTICE · RATED

Codeforces Problemset

Train with a large rated archive and frequent competitive programming contests.

Open Codeforces ↗
GUIDE · STRUCTURED

USACO Guide

Follow structured explanations and curated practice from foundations through advanced topics.

Open USACO Guide ↗
REFERENCE · TOPIC-BASED

CP-Algorithms

Review concise algorithm explanations, proofs, and implementation guidance.

Open CP-Algorithms ↗
PRACTICE · TEAM SETS

Virtual Judge

Assemble and run team practice sets drawn from multiple online judges.

Open Virtual Judge ↗
SITE · CURRENT EVENTS

Events

See current contests, workshops, World Finals information, and the dated archive.

Browse events →
EVENT · 2026

ICPC Challenge

Follow the current global challenge series and registration status.

Open challenge →
SITE · ABOUT

About ICPC University

Learn how the commons serves students, coaches, educators, and organizers.

About the commons →
SITE · ACCESSIBILITY

Accessibility

Review the accessibility commitment, known limitations, and reporting channel.

Read accessibility statement →
FEEDBACK · ALL AUDIENCES

Report or Suggest a Resource

Flag outdated content, an access barrier, or a missing high-quality resource.

Open feedback form ↓
PRACTICE · MULTILINGUAL

AtCoder

Practice in frequent contests with unusually clear statements and broad difficulty coverage.

Open AtCoder ↗
PRACTICE · COMMUNITY JUDGE

DMOJ

Use a large problem archive with contests, organizations, ratings, and topic tags.

Open DMOJ ↗
REFERENCE · VISUAL

VisuAlgo

Build intuition through interactive algorithm and data-structure visualizations.

Open VisuAlgo ↗
PRACTICE · SPANISH

omegaUp

Learn and compete through a Spanish-first programming education platform.

Open omegaUp ↗
PRACTICE · PORTUGUESE

beecrowd

Practice programming in a Portuguese-friendly judge with broad introductory coverage.

Open beecrowd ↗
REFERENCE · TEAM NOTEBOOK

KACTL

Review a concise, battle-tested ICPC team reference maintained by KTH competitors.

Open KACTL ↗
GUIDE · OPEN BOOK

Competitive Programmer’s Handbook

Study a free, structured introduction to core competitive-programming techniques.

Read the handbook ↗
PRACTICE · CLASSIC ARCHIVE

SPOJ

Work through a long-running multilingual archive of classical judge problems.

Open SPOJ ↗
GUIDE · TEAM STRATEGY

Programming Team Strategy

Plan roles, communication, and contest-day execution for three-person teams.

Open team resources ↗

PERSONAL LEARNING PLAN

Your learning routes.

Work through practical steps and resume exactly where you stopped. Progress stays in this browser and can be exported at any time.

CURATED ROUTES

Follow a complete next-step plan.

01 · BEGINNER

Build foundations

  1. Start the Beginner Training Path.
  2. Follow Course I in the curriculum.
  3. Solve a matching CSES set.
  4. Enter a beginner-friendly contest.
Open beginner resources →
02 · COMPETITOR

Prepare for contest day

  1. Choose a rated judge.
  2. Practice one focused topic.
  3. Run a timed virtual contest.
  4. Review errors with your team.
Open practice resources →
03 · COACH

Build a team season

  1. Read the New Coach Guide.
  2. Assess team skill gaps.
  3. Schedule topic and team sessions.
  4. Track results after each contest.
Open coach resources →
04 · ORGANIZER

Run a trusted contest

  1. Review policies and standards.
  2. Select supported contest systems.
  3. Plan judging and problem review.
  4. Run a rehearsal before launch.
Open organizer resources →

Keep moving

Your next step
is ready.

Open the curriculum