Files
TinyTorch/docs/development/MODULE_ABOUT_TEMPLATE.md
2025-11-28 14:59:51 +01:00

207 lines
5.2 KiB
Markdown

# Module ABOUT.md Template
This template defines the standardized structure for all module ABOUT.md files used in the Jupyter Book site.
## Standard Structure
```markdown
---
title: "[Module Title]"
description: "[Brief description]"
difficulty: "[⭐⭐⭐⭐]"
time_estimate: "[X-Y hours]"
prerequisites: []
next_steps: []
learning_objectives: []
---
# [NN]. [Module Title]
**[TIER]** | Difficulty: ⭐⭐⭐⭐ (X/4) | Time: X-Y hours
## Overview
[2-3 sentence overview explaining what this module builds and why it matters]
## Learning Objectives
By the end of this module, you will be able to:
- **[Objective 1]**: [Description]
- **[Objective 2]**: [Description]
- **[Objective 3]**: [Description]
- **[Objective 4]**: [Description]
- **[Objective 5]**: [Description]
## Build → Use → [Analyze/Optimize/Reflect]
This module follows TinyTorch's **Build → Use → [Third Stage]** framework:
1. **Build**: [What students implement]
2. **Use**: [How they apply it]
3. **[Third Stage]**: [Deeper engagement - varies by module]
## Implementation Guide
### [Main Component Name]
```python
# Example code showing key functionality
```
### [Additional Components]
[More implementation examples]
## Getting Started
### Prerequisites
Ensure you understand the [foundations]:
```bash
# Activate TinyTorch environment
source scripts/activate-tinytorch
# Verify prerequisite modules
tito test [prerequisite1]
tito test [prerequisite2]
```
### Development Workflow
1. **Open the development file**: `modules/[NN]_[modulename]/[modulename]_dev.py`
2. **Implement [component 1]**: [Description]
3. **Build [component 2]**: [Description]
4. **Create [component 3]**: [Description]
5. **Add [component 4]**: [Description]
6. **Export and verify**: `tito module complete [NN] && tito test [modulename]`
## Testing
### Comprehensive Test Suite
Run the full test suite to verify [module] functionality:
```bash
# TinyTorch CLI (recommended)
tito test [modulename]
# Direct pytest execution
python -m pytest tests/ -k [modulename] -v
```
### Test Coverage Areas
-**[Test area 1]**: [Description]
-**[Test area 2]**: [Description]
-**[Test area 3]**: [Description]
-**[Test area 4]**: [Description]
-**[Test area 5]**: [Description]
### Inline Testing & [Analysis Type]
The module includes comprehensive [validation type]:
```python
# Example inline test output
🔬 Unit Test: [Component]...
[Test result 1]
[Test result 2]
📈 Progress: [Component]
```
### Manual Testing Examples
```python
from [modulename]_dev import [Component]
# Example usage
```
## Systems Thinking Questions
### Real-World Applications
- **[Application 1]**: [Description]
- **[Application 2]**: [Description]
- **[Application 3]**: [Description]
- **[Application 4]**: [Description]
### [Mathematical/Technical] Foundations
- **[Concept 1]**: [Description]
- **[Concept 2]**: [Description]
- **[Concept 3]**: [Description]
- **[Concept 4]**: [Description]
### [Theory/Performance] Characteristics
- **[Characteristic 1]**: [Description]
- **[Characteristic 2]**: [Description]
- **[Characteristic 3]**: [Description]
- **[Characteristic 4]**: [Description]
## Ready to Build?
[2-3 paragraph motivational conclusion explaining why this module matters and what students will achieve]
Choose your preferred way to engage with this module:
````{grid} 1 2 3 3
```{grid-item-card} 🚀 Launch Binder
:link: https://mybinder.org/v2/gh/mlsysbook/TinyTorch/main?filepath=modules/[NN]_[modulename]/[modulename]_dev.ipynb
:class-header: bg-light
Run this module interactively in your browser. No installation required!
```
```{grid-item-card} ⚡ Open in Colab
:link: https://colab.research.google.com/github/mlsysbook/TinyTorch/blob/main/modules/[NN]_[modulename]/[modulename]_dev.ipynb
:class-header: bg-light
Use Google Colab for GPU access and cloud compute power.
```
```{grid-item-card} 📖 View Source
:link: https://github.com/mlsysbook/TinyTorch/blob/main/modules/[NN]_[modulename]/[modulename]_dev.py
:class-header: bg-light
Browse the Python source code and understand the implementation.
```
````
```{admonition} 💾 Save Your Progress
:class: tip
**Binder sessions are temporary!** Download your completed notebook when done, or switch to local development for persistent work.
```
---
<div class="prev-next-area">
<a class="left-prev" href="../chapters/[prev_module].html" title="previous page">← Previous Module</a>
<a class="right-next" href="../chapters/[next_module].html" title="next page">Next Module →</a>
</div>
```
## Required Sections
All modules MUST include:
1. Frontmatter (YAML metadata)
2. Title with tier/difficulty/time
3. Overview
4. Learning Objectives
5. Build → Use → [Third Stage]
6. Implementation Guide
7. Getting Started (Prerequisites + Development Workflow)
8. Testing (Comprehensive Test Suite + Test Coverage + Inline Testing + Manual Examples)
9. Systems Thinking Questions (Real-World Applications + Foundations + Characteristics)
10. Ready to Build? (Motivational conclusion)
11. Launch Binder/Colab/Source grid
12. Save Your Progress admonition
13. Previous/Next navigation
## Optional Sections
- "Why This Matters" (can be integrated into Overview or Systems Thinking)
- Additional implementation examples
- Extended mathematical foundations