"source": "## META | difficulty 1 | Welcome\n\nThis course is for people who need to see the algorithm move.\n\nThe goal is not to hide behind abstract formulas. The goal is to make the NTT and iNTT feel physically inspectable:\n\n- every stage should look like values moving through wires\n- every wraparound should be visible\n- every ordering change should be concrete\n- every Kyber-specific choice should be motivated by what the arithmetic allows\n"
"source": "## MANDATORY | difficulty 1 | Official Route\n\nFollow exactly one supported route:\n\n1. `START_HERE.ipynb`\n2. `COURSE_BLUEPRINT.ipynb`\n3. each bundle in `Lecture -> Lab -> Problems -> Studio` order\n4. `COURSE_COMPLETE.ipynb`\n\nSupported bundles:\n\n- `foundations/01_convolution_to_toy_ntt`\n- `foundations/02_negative_wrapped_ntt`\n- `butterfly_mechanics/03_fast_forward_ct`\n- `butterfly_mechanics/04_fast_inverse_gs`\n- `kyber_mapping/05_kyber_ntt_and_base_multiplication`\n- `professional/06_debugging_ntt_failures`\n"
},
{
"cell_type": "markdown",
"metadata": {
"pedagogy": {
"role": "mandatory",
"difficulty": 1,
"kind": "contract",
"title": "Visible Cell Contract"
}
},
"source": "## MANDATORY | difficulty 1 | Visible Cell Contract\n\nCell labels are not decoration. They tell you how to use the notebook:\n\n- `META` = route, pacing, and handoff\n- `MANDATORY` = the official walkthrough\n- `FACULTATIVE` = optional deepening only\n- difficulty `1-3` is reserved for mandatory work\n- difficulty `4-10` is reserved for facultative work\n"