# ML Prep > Preparation for Mathematics, Programming, and Machine Learning foundations. ## Start - [Human home](https://mlprep.iwase.dev/) - [Agent guide](https://mlprep.iwase.dev/agent.md) - [Agent Skill](https://mlprep.iwase.dev/skill/SKILL.md) - [JSON catalog](https://mlprep.iwase.dev/api/v1/catalog.json) - [Search index](https://mlprep.iwase.dev/api/v1/search-index.json) - [Custom Practice](https://mlprep.iwase.dev/practice/custom/) - [Attempt-record schema](https://mlprep.iwase.dev/schema/attempt-record.json) - [Custom-set schema](https://mlprep.iwase.dev/schema/custom-set.json) ## Areas - [Mathematics](https://mlprep.iwase.dev/mathematics/): Build fast, reliable command of the undergraduate mathematics used throughout machine learning. - [Programming](https://mlprep.iwase.dev/programming/): Practice Python semantics, core data structures, control flow, and recursion rather than competitive-programming tricks. - [Machine Learning](https://mlprep.iwase.dev/machine-learning/): Connect the standard models and algorithms to their objectives, computations, and failure modes. ## Diagnostics - [Mathematics Diagnostic](https://mlprep.iwase.dev/sets/mathematics-diagnostic.md): diagnostic, 60 minutes - [Programming Diagnostic](https://mlprep.iwase.dev/sets/programming-diagnostic.md): diagnostic, 50 minutes - [Machine Learning Diagnostic](https://mlprep.iwase.dev/sets/machine-learning-diagnostic.md): diagnostic, 60 minutes ## Policy Use stable IDs; read external problems at the cited source; tutor hints-first; never invent inaccessible content. When the browser bridge is available, read local history before tutoring and append a record only after a real attempt.