Files
TinyTorch/docs/prerequisites.md
Vijay Janapa Reddi c058ab9419 Fix documentation links after site → docs reorganization
- Replace all .html → .md in markdown source files (43 instances)
- Fix broken links: tito-essentials.md → tito/overview.md
- Remove broken links to non-existent leaderboard/olympics-rules pages
- Fix PDF_BUILD_GUIDE reference in website-README.md

Website rebuilt successfully with 46 warnings.

Changes:
- All markdown files now use .md extension for internal links
- Removed references to missing/planned files
- Website builds cleanly and all links are functional
2025-11-28 05:01:44 +01:00

136 lines
4.5 KiB
Markdown

# Prerequisites & Self-Assessment
**Purpose**: Ensure you have the foundational knowledge to succeed in TinyTorch and discover complementary resources for deeper learning.
---
## Core Requirements
You need TWO things to start building:
### 1. Python Programming
- Comfortable writing functions and classes
- Familiarity with basic NumPy arrays
- No ML framework experience required—you'll build your own!
**Self-check**: Can you write a Python class with `__init__` and methods?
### 2. Basic Linear Algebra
- Understand matrix multiplication conceptually
- Know what a gradient (derivative) represents at a high level
**Self-check**: Do you know what multiplying two matrices means?
**That's it. You're ready to start building.**
---
## "Nice to Have" Background
**We teach these concepts as you build**—you don't need them upfront:
- **Calculus (derivatives)**: Module 05 (Autograd) teaches this through implementation
- **Deep learning theory**: You'll learn by building, not lectures
- **Advanced NumPy**: We introduce operations as needed in each module
**Learning Philosophy**: TinyTorch teaches ML systems through implementation. You'll understand backpropagation by building it, not by watching lectures about it.
---
## Self-Assessment: Which Learning Path Fits You?
### Path A: Foundation-First Builder (Recommended for most)
**You are:**
- Strong Python programmer
- Curious about ML systems
- Want to understand how frameworks work
**Start with**: Module 01 (Tensor)
**Best for**: CS students, software engineers transitioning to ML, anyone wanting deep systems understanding
### Path B: Focused Systems Engineer
**You are:**
- Professional ML engineer
- Need specific optimization skills
- Want production deployment knowledge
**Start with**: Review Foundation Tier (01-07), focus on Optimization Tier (14-19)
**Best for**: Working engineers debugging production systems, performance optimization specialists
### Path C: Academic Researcher
**You are:**
- ML theory background
- Need implementation skills
- Want to prototype novel architectures
**Start with**: Module 01, accelerate through familiar concepts
**Best for**: PhD students, research engineers, anyone implementing custom operations
---
## Complementary Learning Resources
### Essential Systems Context
**[Machine Learning Systems](https://mlsysbook.ai)** by Prof. Vijay Janapa Reddi (Harvard)
- TinyTorch's companion textbook providing systems perspective
- Covers production ML engineering, hardware acceleration, deployment
- **Perfect pairing**: TinyTorch teaches implementation, ML Systems book teaches context
### Mathematical Foundations
**[Deep Learning Book](https://www.deeplearningbook.org/)** by Goodfellow, Bengio, Courville
- Comprehensive theoretical foundations
- Mathematical background for concepts you'll implement
- **Use alongside TinyTorch** for deeper understanding
### Visual Intuition
**[3Blue1Brown: Neural Networks](https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi)**
- Visual explanations of backpropagation, gradient descent, neural networks
- **Perfect visual complement** to TinyTorch's hands-on implementation
**[3Blue1Brown: Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)**
- Geometric intuition for vectors, matrices, transformations
- **Helpful refresher** for tensor operations and matrix multiplication
### Python & NumPy
**[NumPy Quickstart Tutorial](https://numpy.org/doc/stable/user/quickstart.md)**
- Essential NumPy operations and array manipulation
- **Review before Module 01** if NumPy is unfamiliar
---
## Ready to Begin?
**If you can:**
1. ✅ Write a Python class with methods
2. ✅ Explain what matrix multiplication does
3. ✅ Debug Python code using print statements
**Then you're ready to start building!**
**Not quite there?** Work through the resources above, then return when ready. TinyTorch will still be here, and you'll get more value once foundations are solid.
---
## Next Steps
**Ready to Build:**
- See [Quick Start Guide](quickstart-guide.md) for hands-on experience
- See [Student Workflow](student-workflow.md) for development process
- See [Course Structure](chapters/00-introduction.md) for full curriculum
**Need More Context:**
- See [Additional Resources](resources.md) for broader ML learning materials
- See [FAQ](faq.md) for common questions about TinyTorch
- See [Community](community.md) to connect with other learners
---
**Your journey from ML user to ML systems engineer starts here.**