5 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
97e0563614 Add community and benchmark features with baseline validation
- Implement tito benchmark baseline and capstone commands
- Add SPEC-style normalization for baseline benchmarks
- Implement tito community join, update, leave, stats, profile commands
- Use project-local storage (.tinytorch/) for user data
- Add privacy-by-design with explicit consent prompts
- Update site documentation for community and benchmark features
- Add Marimo integration for online notebooks
- Clean up redundant milestone setup exploration docs
- Finalize baseline design: fast setup validation (~1 second) with normalized results
2025-11-20 00:17:21 -05:00
Vijay Janapa Reddi
48dfc4c820 Add example NBGrader assignments for 01_setup module
- Include source and release versions of 01_setup assignment
- Demonstrates working NBGrader workflow with real module
- Shows what instructors will get when running tito nbgrader generate/release
- Provides template for how assignments are structured

These are example outputs from testing NBGrader integration.
2025-09-16 08:42:11 -04:00
Vijay Janapa Reddi
11c56ba2dd Integrate NBGrader with TinyTorch and enhance status checking
- Fix NBGrader configuration to use proper assignments/ directory structure
- Update NBGrader commands to work with TinyTorch modules in modules/source/
- Initialize complete NBGrader workflow: generate -> release -> collect -> autograde
- Add virtual environment setup with all required dependencies (numpy, matplotlib, pytest, nbgrader, rich, networkx)
- Integrate comprehensive status checking into tito CLI hierarchy (tito/core/status_analyzer.py)
- Remove standalone status scripts - everything now unified under tito commands
- Provide end-to-end tested workflow for educational assignment management

Tested functionality:
- tito module status --comprehensive (full system health dashboard)
- tito nbgrader init/generate/release/status (complete assignment workflow)
- Virtual environment with proper dependency management
- Professional CLI architecture with no standalone scripts
2025-09-16 02:30:49 -04:00
Vijay Janapa Reddi
f1d47330b3 Simplify export workflow: remove module_paths.txt, use dynamic discovery
- Remove unnecessary module_paths.txt file for cleaner architecture
- Update export command to discover modules dynamically from modules/source/
- Simplify nbdev command to support --all and module-specific exports
- Use single source of truth: nbdev settings.ini for module paths
- Clean up import structure in setup module for proper nbdev export
- Maintain clean separation between module discovery and export logic

This implements a proper software engineering approach with:
- Single source of truth (settings.ini)
- Dynamic discovery (no hardcoded paths)
- Clean CLI interface (tito package nbdev --export [--all|module])
- Robust error handling with helpful feedback
2025-07-12 17:19:22 -04:00
Vijay Janapa Reddi
9b94b588d2 Perfect NBGrader Setup Complete - Python-First Workflow
🎯 NBGRADER STRUCTURE IMPLEMENTED:
- Added proper NBGrader cell metadata to modules/00_setup/setup_dev.py
- Solution cells: nbgrader={'solution': true, 'locked': false}
- Test cells: nbgrader={'grade': true, 'locked': true, 'points': X}
- Proper grade_id for each cell for tracking

🧹 CLEAN STUDENT ASSIGNMENTS:
- No hidden instructor solutions in student version
- Only TODO stubs with clear instructions and hints
- NBGrader automatically replaces with 'YOUR CODE HERE'
- Proper point allocation: hello_tinytorch (3pts), add_numbers (2pts), SystemInfo (5pts)

🔧 WORKING WORKFLOW VERIFIED:
1. Edit modules/XX/XX_dev.py (Python source)
2. tito nbgrader generate XX (Python → Jupyter with NBGrader metadata)
3. tito nbgrader release XX (Clean student version generated)
4. Students work on assignments/release/XX/XX.ipynb
5. tito nbgrader collect/autograde for grading

 TESTED COMPONENTS:
- Python file with proper Jupytext headers 
- NBGrader cell metadata generation 
- Student assignment generation 
- Clean TODO stubs without solutions 
- Release process working 

🎓 EDUCATIONAL STRUCTURE:
- Clear learning objectives and explanations
- Step-by-step TODO instructions with hints
- Immediate testing with auto-graded cells
- Progressive difficulty (functions → classes → optional challenges)
- Real-world context and examples

Perfect implementation of Python-first development with NBGrader compliance
2025-07-12 11:37:39 -04:00