This plan is designed for students who have some prior programming experience (e.g., Python, basic C++), are actively solving problems on platforms like CSES, Codexyz, or AtCoder, and are looking for a structured, age-appropriate roadmap. The focus is on mastering fundamental algorithms (DP, graphs, greedy), solving subtasks efficiently, and building confidence for NOI participation β without requiring university-level mathematics or overly advanced CS theory.
Suitable for : Secondary school students with a strong interest in competitive programming and basic proficiency in C++
Target:
1. Achieve a solid score in the NOI
2. ideally qualifying for the Final Round
3. with the stretch goal of solving 1β2 full tasks or earning a Bronze medal.
π΅ Month 1 β Foundation Building (Basics + Syntax Fluency)
| Topic | Resources | Practice | 
|---|---|---|
| C++ Syntax Refresh | GeeksforGeeks C++, USACO Bronze intro | 1β2 C++ syntax problems/week | 
| Time Complexity + Sorting | CPH Ch. 1β3, CSES Sorting & Searching | ~5β6 problems/week | 
| Prefix sums, brute force, loops | CPH + USACO Bronze | CSES βIntroductory Problemsβ | 
| AtCoder ABC | Do ABC Contest weekly (solve AβC) | ABC 100β105 | 
| Practice Site | CSES, Codexyz, AtCoder | Pick familiar platforms | 
Weekly Targets:
- 
3β4 CSES problems 
- 
1 AtCoder ABC (AβC) 
- 
1 contest-style simulation (30β60 min) 
π΅ Month 2 β Core Algorithms (Graphs, Greedy, Recursion)
| Topic | Resources | Practice | 
|---|---|---|
| Recursion, Binary Search | CPH Ch. 4β6, USACO Bronze | CSES + USACO Guide: Binary Search | 
| BFS/DFS on graphs | CPH Ch. 11β12 | CSES Graph Algorithms (Easy) | 
| Greedy algorithms | CPH Ch. 8 | CSES + AtCoder ABC greedy questions | 
| Bit operations | CPH Ch. 7 | CSES bitmasking section | 
| AtCoder ABC | Continue weekly | ABC 106β110 | 
Weekly Targets:
- 
3 graph/greedy problems 
- 
1 USACO Guide section 
- 
Start noting reusable templates (BFS, DFS) 
π Month 3 β Intermediate Concepts (DP, Shortest Path)
| Topic | Resources | Practice | 
|---|---|---|
| Dynamic Programming (0/1 Knapsack, Fibonacci) | CPH Ch. 9, USACO Guide: Intro to DP | CSES DP Set (start with 1β4) | 
| Dijkstra, Shortest Paths | CPH Ch. 13 | CSES + GeeksforGeeks | 
| Subset & Bitmask DP | Guide to CP + USACO Silver | Try “Meet in the Middle” on CSES | 
| AtCoder ABC | Weekly ABC contests | ABC 111β115 | 
| NOI.sg Archive | Try 2023/2022 problems | Focus on subtasks | 
Weekly Targets:
- 
3 DP problems 
- 
1β2 NOI past subtasks 
- 
1 timed session (1.5 hours) 
π Month 4 β Advanced Problem Solving (DP2, Simulation, Ad Hoc)
| Topic | Resources | Practice | 
|---|---|---|
| Advanced DP (state reduction, optimization) | USACO Guide: Silver DP | CSES harder DP tasks | 
| Ad hoc + simulation problems | Codeforces Div 3 + AtCoder ABC | Random Codeforces practice (Div 3) | 
| Bitmask + backtracking | CP3 (optional) | NOI-style puzzles | 
| NOI.sg Archive | Continue with past prelim/final questions | Focus on subtasks with scoring mindset | 
Weekly Targets:
- 
2 NOI subtasks 
- 
2β3 DP/backtracking problems 
- 
1 full mock contest (2 hours) 
π΄ Month 5 β NOI Focused Training
| Focus Area | Practice | 
|---|---|
| Mock NOI Problems (Full Tasks) | 2β3/week (timed, 2β3 hours) | 
| Subtask scoring strategy | Train solving easier subtasks first | 
| Weak topic review | Review problem notebook: common mistakes | 
| Debugging without IDE | Simulate exam environment (g++ only, no online help) | 
| NOI.sg Finals problems | Solve at least 5β6 full questions/subtasks from past years | 
π΄ Month 6 β Simulation & Tuning
| Focus Area | Practice | 
|---|---|
| Final full mock contests (2β3 rounds/week) | Self-score, analyze post-contest | 
| Rapid subtask solving | Train for speed and accuracy on partial problems | 
| Template review | BFS, DFS, DP, Dijkstra β memorize and type quickly | 
| Mental prep | Build calm, focus, time pacing | 
| Realistic environment | Use C++ locally, avoid copy-paste, mimic NOI prelim conditions | 
π Template for Weekly Practice (Flexible)
| Day | Focus | 
|---|---|
| Mon | Learn a concept (e.g., greedy, bitmask) | 
| Tue | Solve 2β3 problems (easy-medium) | 
| Wed | Do 1 AtCoder ABC (old) contest | 
| Thu | Review & retry missed problems | 
| Fri | Light day β debug or recap | 
| Sat | Timed contest or NOI simulation (2β3 hrs) | 
| Sun | Relax or review notebook/errors | 
π Tools to Use
- 
Notebook or Notion doc: Log mistakes, tricks, patterns 
- 
C++ template: Set up basic macros (avoid too many, stay NOI-safe) 
- 
Timer: Simulate real contest stress 
β Final Thoughts
- 
This plan stretches him without overwhelming, and aligns with his age and school level. 
- 
Success at NOI isn’t always about medal in year 1 β many top performers started with 1β2 subtasks and learned fast from experience. 
- 
With consistency, he can absolutely make Finals and earn a solid score. 

 
				 
					




