{ "cells": [ { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "meta", "difficulty": 1, "kind": "orientation", "title": "Why This Order Exists" } }, "source": "## META | difficulty 1 | Why This Order Exists\n\nThe course separates three ideas that are often blurred together:\n\n- the algebraic purpose of the NTT\n- the in-place butterfly dataflow\n- Kyber-specific implementation conventions\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "mandatory", "difficulty": 2, "kind": "route", "title": "Learning Staircase" } }, "source": "## MANDATORY | difficulty 2 | Learning Staircase\n\nThe supported staircase is:\n\n1. ordinary polynomial multiplication and convolution\n2. negacyclic multiplication\n3. a tiny toy NTT\n4. butterfly mechanics in isolation\n5. forward and inverse flow side by side\n6. Kyber-specific parameters and indexing\n7. real implementation patterns\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "mandatory", "difficulty": 2, "kind": "structure", "title": "Bundle Rhythm" } }, "source": "## MANDATORY | difficulty 2 | Bundle Rhythm\n\nTechnical bundles follow a consistent rhythm:\n\n- `lecture.ipynb` explains the idea carefully\n- `lab.ipynb` asks for predictions before execution\n- `problems.ipynb` checks retrieval and reflection\n- `studio.ipynb` compares implementation choices and debugging cues\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "meta", "difficulty": 1, "kind": "constraints", "title": "Route Constraints" } }, "source": "## META | difficulty 1 | Route Constraints\n\nRoute notebooks stay pure route notebooks.\n\n- no facultative detours here\n- no hidden competing learner route\n- every notebook ends with a visible handoff\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "meta", "difficulty": 1, "kind": "handoff", "title": "Next Notebook" } }, "source": "## META | difficulty 1 | Next Notebook\n\nNext notebook: `foundations/01_convolution_to_toy_ntt/lecture.ipynb`\n" } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "name": "python" }, "ntt_learning": { "title": "Course Blueprint", "contract_version": "0.1", "sequence": [ "notebooks/START_HERE.ipynb", "notebooks/COURSE_BLUEPRINT.ipynb", "notebooks/foundations/01_convolution_to_toy_ntt/lecture.ipynb", "notebooks/foundations/01_convolution_to_toy_ntt/lab.ipynb", "notebooks/foundations/01_convolution_to_toy_ntt/problems.ipynb", "notebooks/foundations/01_convolution_to_toy_ntt/studio.ipynb" ] } }, "nbformat": 4, "nbformat_minor": 5 }