Sprint Calendar¶
9-Month DSA Fortress · S1–S19¶
Two-week sprints. 19 sprints total, with 1 built-in buffer sprint (S19 extended). Each sprint has a hard learning load, a lab-notebook expectation, and one deliverable. The sprint is the atomic unit of this plan — not the month, not the day. If a sprint slips, the slippage log at the bottom captures it and the next sprint absorbs the delta. Do not attempt to time-travel and fix prior sprints. Move forward.
Sprint load levels:
🟢 Light (8-10h/week) — onboarding, buffer, festival weeks
🟡 Standard (10-13h/week) — typical sprint pace
🔴 Heavy (13-15h/week) — problem density peaks, avoid scheduling conflicts here
Sprint Table¶
Sprint |
Dates |
Phase |
Primary Focus |
Load |
Lab Entries |
Sprint Deliverable |
|---|---|---|---|---|---|---|
S1 |
Aug 1–14 |
Phase 0 |
Big-O, complexity derivation, recurrence relations |
🟡 |
4 min |
Complexity derivation for 5 problems — written, no AI |
S2 |
Aug 15–28 |
Phase 0 |
Mathematical thinking, pseudocode, invariants |
🟡 |
4 min |
15 LeetCode Easy solved with written complexity per problem |
S3 |
Aug 29–Sep 11 |
P0→P1 |
Phase 0 exit gate + arrays, strings, linked lists |
🟡 |
4 min |
P0 exit check passed; from-scratch array + linked list |
S4 |
Sep 12–25 |
Phase 1 |
Stacks, queues, hash tables, heaps |
🔴 |
4 min |
6 from-scratch implementations committed to Rung 2 repo |
S5 |
Sep 26–Oct 9 |
P1→P2 |
Phase 1 exit gate + recursion mechanics, D&C |
🟡 |
4 min |
P1 exit check passed; Rung 1 portfolio artifact published |
S6 |
Oct 10–23 |
Phase 2 |
Binary trees, BST (Diwali Oct 20–24: 🟢 days) |
🟢 |
3 min |
20 tree problems solved; BST validation from scratch |
S7 |
Oct 24–Nov 6 |
Phase 2 |
Backtracking, Tries |
🟡 |
4 min |
N-Queens + permutations + Trie: all from scratch |
S8 |
Nov 7–20 |
P2→P3 |
Phase 2 exit gate + graph fundamentals, BFS/DFS |
🟡 |
4 min |
P2 exit check passed; BFS/DFS on 8 problems |
S9 |
Nov 21–Dec 4 |
Phase 3 |
Topological sort, Dijkstra, Bellman-Ford |
🔴 |
4 min |
Dijkstra from scratch (stale-entry skip pattern) |
S10 |
Dec 5–18 |
Phase 3 |
Union-Find, MST (Kruskal + Prim) |
🔴 |
4 min |
Union-Find with path compression + rank: from scratch |
S11 |
Dec 19–Jan 1 |
P3 buffer |
Phase 3 exit gate (Dec 25–Jan 2: 🟢 days) |
🟢 |
2 min |
P3 exit check passed; 15 graph problems solved |
S12 |
Jan 2–15 |
Phase 4 |
DP foundations, 1D DP (Pongal Jan 14–17: 🟢) |
🟡 |
4 min |
5-question framework applied to 6 problems in lab notebook |
S13 |
Jan 16–29 |
Phase 4 |
2D grid DP, Edit Distance |
🟡 |
4 min |
Edit Distance + Unique Paths: from scratch, no reference |
S14 |
Jan 30–Feb 12 |
Phase 4 |
Knapsack patterns, loop order mastery |
🔴 |
4 min |
0/1 and unbounded knapsack: loop direction explained from mechanism |
S15 |
Feb 13–26 |
Phase 4 |
Interval DP, subsequences, LIS O(n log n), Tree DP |
🔴 |
4 min |
Burst Balloons solved; LIS O(n log n) on LC 300 |
S16 |
Feb 27–Mar 12 |
Phase 5 |
Segment trees (point + range update), Fenwick trees |
🔴 |
4 min |
Segment tree with lazy propagation: working implementation |
S17 |
Mar 13–26 |
Phase 5 |
Greedy, bit manipulation, KMP, Z-algorithm |
🟡 |
4 min |
Rung 6 HARD GATE: DP Handbook published by Mar 20 |
S18 |
Mar 27–Apr 9 |
Phase 6 |
Contest strategy, template library, first rated contests |
🟡 |
3 min |
2 rated Codeforces contests completed |
S19 |
Apr 10–27 |
Phase 6 |
Competitive mastery consolidation, upsolving, pitch prep |
🟡 |
3 min |
Rung 7 HARD GATE: ≥5 rated contests, rating ≥1200 |
Sprint Protocol¶
How to Run a Sprint¶
Day 1 of each sprint:
Read the sprint row in this table.
Read the corresponding month section in
01_month_by_month.md.Open your lab notebook. Write the sprint goal in one sentence.
Set the deliverable as a calendar reminder for Day 14.
Day 14 of each sprint (Sprint Review):
Did you hit the deliverable? Yes / Partial / No.
Write 2 sentences in the lab notebook: what you learned, what slipped.
Log slippage (if any) in the Slippage Log below.
Update Rung progress in
12_portfolio/00_portfolio_ladder_table.md.
Lab Notebook Expectation¶
Minimum entries per sprint are listed in the table above. One entry = one predict-then-measure session:
Predict: “I think this solution is O(n log n) because…”
Run: execute it
Measure: check actual behavior
Reconcile: if prediction was wrong, write exactly why
This habit is the mechanism that converts solving problems into building understanding. See 13_discipline/02_lab_notebook.md for templates.
Buffer Sprints¶
S11 is the explicit buffer sprint. It sits at the end of Phase 3 over the Christmas window, which serves dual purpose: recovery from the Valley of Despair and a clean reset before Phase 4.
If S11 is not needed as a buffer (you’re on schedule), use it to:
Solve 5 additional hard graph problems
Start Rung 3 algorithm visualizer posts early
Review your entire Phase 0–3 lab notebook and write a 1-page synthesis
Do not accelerate into Phase 4 early. The rest is the point.
Slippage Log¶
Copy this template whenever a sprint deliverable is missed. Update at the next sprint review.
## Slippage Entry
Sprint: S[N]
Date: [date]
Deliverable missed: [what it was]
Root cause (honest): [1-2 sentences — not "I was busy"]
Delta absorbed by: S[N+1] / [specific action]
Adjusted deliverable: [what you will do instead, with new date]
Slippage rule: One sprint’s slip can be absorbed by the next sprint’s load adjustment. Two consecutive slips trigger a full re-plan of the current phase (not the entire roadmap). Three consecutive slips trigger the Reset Protocol in 99_pre_mortem/09_summary_and_reset_protocol.md.
Key Dates at a Glance¶
Date |
Event |
|---|---|
Aug 1, 2026 |
FORTRESS BEGINS — S1 starts |
Oct 20–24, 2026 |
Diwali — protected, no practice |
Nov 2026 |
Valley of Despair begins |
Dec 25–Jan 2, 2027 |
Christmas/New Year — protected |
Jan 14–17, 2027 |
Pongal — protected |
Mar 20, 2027 |
Rung 6 HARD GATE — DP Handbook deadline |
Apr 27, 2027 |
FORTRESS COMPLETE — 9-month exit |
Return to [01_month_by_month.md] · Next: [03_north_star_artifacts.md]