{ "cells": [ { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "meta", "difficulty": 1, "kind": "orientation", "title": "What This Course Separates" } }, "source": "## META | difficulty 1 | What This Course Separates\n\nThis course keeps three stories separate on purpose:\n\n- the algebraic purpose of the transform\n- the local in-place butterfly dataflow\n- the Kyber-specific implementation conventions\n\nThe point is to stop those three from collapsing into one blurry \u201cFFT-like thing\u201d.\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "mandatory", "difficulty": 2, "kind": "structure", "title": "The Learning Staircase" } }, "source": "## MANDATORY | difficulty 2 | The Learning Staircase\n\nThe supported staircase is:\n\n1. schoolbook multiplication and diagonals\n2. cyclic and negacyclic wraparound\n3. direct negative-wrapped NTT and iNTT\n4. fast forward CT butterflies\n5. fast inverse GS butterflies\n6. bit-reversal and ordering\n7. Kyber parameter reality and base multiplication\n8. debugging wrong sign / wrong zeta / wrong order / wrong scale failures\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "mandatory", "difficulty": 2, "kind": "bundles", "title": "Bundles" } }, "source": "## MANDATORY | difficulty 2 | Bundles\n\nEach serious module uses the same rhythm:\n\n- `lecture.ipynb` = slow explanation plus visual demos\n- `lab.ipynb` = prediction before execution\n- `problems.ipynb` = retrieval and reflection\n- `studio.ipynb` = comparison, debugging, and implementation reading\n" }, { "cell_type": "markdown", "metadata": { "pedagogy": { "role": "mandatory", "difficulty": 2, "kind": "expectation", "title": "What \u201cBlunt And Graphical\u201d Means Here" } }, "source": "## MANDATORY | difficulty 2 | What \u201cBlunt And Graphical\u201d Means Here\n\nThe notebooks should not ask the learner to imagine too much in their head.\n\nExpect:\n\n- schoolbook product grids\n- wraparound arrows\n- explicit stage arrays\n- stage sliders\n- bit-reversal wire maps\n- side-by-side wrong vs right traces\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.2", "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", "notebooks/foundations/02_negative_wrapped_ntt/lecture.ipynb", "notebooks/foundations/02_negative_wrapped_ntt/lab.ipynb", "notebooks/foundations/02_negative_wrapped_ntt/problems.ipynb", "notebooks/foundations/02_negative_wrapped_ntt/studio.ipynb", "notebooks/butterfly_mechanics/03_fast_forward_ct/lecture.ipynb", "notebooks/butterfly_mechanics/03_fast_forward_ct/lab.ipynb", "notebooks/butterfly_mechanics/03_fast_forward_ct/problems.ipynb", "notebooks/butterfly_mechanics/03_fast_forward_ct/studio.ipynb", "notebooks/butterfly_mechanics/04_fast_inverse_gs/lecture.ipynb", "notebooks/butterfly_mechanics/04_fast_inverse_gs/lab.ipynb", "notebooks/butterfly_mechanics/04_fast_inverse_gs/problems.ipynb", "notebooks/butterfly_mechanics/04_fast_inverse_gs/studio.ipynb", "notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/lecture.ipynb", "notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/lab.ipynb", "notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/problems.ipynb", "notebooks/kyber_mapping/05_kyber_ntt_and_base_multiplication/studio.ipynb", "notebooks/professional/06_debugging_ntt_failures/lecture.ipynb", "notebooks/professional/06_debugging_ntt_failures/lab.ipynb", "notebooks/professional/06_debugging_ntt_failures/problems.ipynb", "notebooks/professional/06_debugging_ntt_failures/studio.ipynb", "notebooks/COURSE_COMPLETE.ipynb" ] } }, "nbformat": 4, "nbformat_minor": 5 }