Commit Graph

27 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
34ebc609ad Merge branch 'feature/interactive-access' into dev 2025-07-15 22:37:46 -04:00
Vijay Janapa Reddi
74f5c140f7 Update module numbering from 00-13 to 01-14 and refresh tagline
- Updated all module references to start from 01 instead of 00
- Changed tagline to 'Build your own ML framework. Start small. Go deep.'
- Added educational foundation section linking to ML Systems book
- Updated README, documentation, CLI examples, and prerequisites
- Regenerated book content with consistent numbering throughout
- Maintains 14 modules total but with natural numbering (01-14)
2025-07-15 21:11:07 -04:00
Vijay Janapa Reddi
b0930f206e Update README.md 2025-07-15 21:09:16 -04:00
Vijay Janapa Reddi
d41e12aeb0 Update README.md 2025-07-15 18:12:04 -04:00
Vijay Janapa Reddi
c9ddfa235c Update README.md 2025-07-15 18:02:26 -04:00
Vijay Janapa Reddi
5344bc0aa1 Update README.md 2025-07-15 15:23:02 -04:00
Vijay Janapa Reddi
900f0d3cef Update README to reflect current TinyTorch state
- Fix repository URL and directory structure
- Add prominent Jupyter Book documentation link
- List all 14 complete modules with proper organization
- Update installation and workflow instructions
- Add dev/main branch git workflow documentation
- Include modern badges and three user onboarding paths
- Emphasize production ML and inline testing approach
- Reflect current tech stack and learning outcomes
2025-07-15 14:40:36 -04:00
Vijay Janapa Reddi
9b1ba2532c Update README.md 2025-07-15 14:37:46 -04:00
Vijay Janapa Reddi
43d160604d Clean up stale documentation - remove outdated workflow patterns
- Remove 5 outdated development guides that contradicted clean NBGrader/nbdev architecture
- Update all documentation to reflect assignments/ directory structure
- Remove references to deprecated #| hide approach and old command patterns
- Ensure clean separation: NBGrader for assignments, nbdev for package export
- Update README, Student Guide, and Instructor Guide with current workflows
2025-07-12 12:36:31 -04:00
Vijay Janapa Reddi
5d63c1eadc 🐍 Perfect Python-First Workflow Implementation
 PYTHON-FIRST DEVELOPMENT:
- Always work in raw Python files (modules/XX/XX_dev.py)
- Generate Jupyter notebooks on demand using Jupytext
- NBGrader compliance through automated cell metadata
- nbdev for package building and exports

🔧 WORKFLOW IMPROVEMENTS:
- Fixed file priority: use XX_dev.py over XX_dev_enhanced.py
- Clean up enhanced files to use standard files as source of truth
- Updated documentation to highlight Python-first approach

📚 COMPLETE INSTRUCTOR WORKFLOW:
1. Edit modules/XX/XX_dev.py (Python source of truth)
2. Export to package: tito module export XX (nbdev)
3. Generate assignment: tito nbgrader generate XX (Python→Jupyter→NBGrader)
4. Release to students: tito nbgrader release XX
5. Auto-grade with pytest: tito nbgrader autograde XX

 VERIFIED WORKING:
- Python file editing 
- nbdev export to tinytorch package 
- Jupytext conversion to notebooks 
- NBGrader assignment generation 
- pytest integration for auto-grading 

🎯 TOOLS INTEGRATION:
- Raw Python development (version control friendly)
- Jupytext (Python ↔ Jupyter conversion)
- nbdev (package building and exports)
- NBGrader (student assignments and auto-grading)
- pytest (testing within notebooks)

Perfect implementation of user's ideal workflow
2025-07-12 11:31:11 -04:00
Vijay Janapa Reddi
6027d53c20 🔄 Restore NBGrader workflow and clean up remaining artifacts
 NBGRADER WORKFLOW RESTORED:
- Restored assignments/ directory with 6 source assignments
- Restored nbgrader_config.py and gradebook.db
- Restored tito/commands/nbgrader.py for full NBGrader integration
- Restored bin/generate_student_notebooks.py

🧹 CLEANUP COMPLETED:
- Removed outdated tests/ directory (less comprehensive than module tests)
- Cleaned up Python cache files (__pycache__)
- Removed .pytest_cache directory
- Preserved all essential functionality

📚 DOCUMENTATION UPDATED:
- Added NBGrader workflow to INSTRUCTOR_GUIDE.md
- Updated README.md with NBGrader integration info
- Clear instructor workflow: Create solutions → Generate student versions → Release → Grade

 VERIFIED WORKING:
- tito nbgrader generate 00_setup 
- tito nbgrader status 
- tito system doctor 
- Module tests still pass 

🎯 INSTRUCTOR WORKFLOW NOW COMPLETE:
1. Create instructor solutions in modules/XX/XX_dev.py
2. Generate student versions: tito nbgrader generate XX
3. Release assignments: tito nbgrader release XX
4. Collect & grade: tito nbgrader collect XX && tito nbgrader autograde XX

Repository now properly supports full instructor → student workflow with NBGrader
?
2025-07-12 11:26:44 -04:00
Vijay Janapa Reddi
a0d0d8c338 🏗️ Restructure repository for optimal student/instructor experience
- Move development artifacts to development/archived/ directory
- Remove NBGrader artifacts (assignments/, testing/, gradebook.db, logs)
- Update root README.md to match actual repository structure
- Provide clear navigation paths for instructors and students
- Remove outdated documentation references
- Clean root directory while preserving essential files
- Maintain all functionality while improving organization

Repository is now optimally structured for classroom use with clear entry points:
- Instructors: docs/INSTRUCTOR_GUIDE.md
- Students: docs/STUDENT_GUIDE.md
- Developers: docs/development/

 All functionality verified working after restructuring
2025-07-12 11:17:36 -04:00
Vijay Janapa Reddi
d5b4a4c1e9 Update README.md 2025-07-11 21:44:09 -04:00
Vijay Janapa Reddi
898a9e2315 Adds initial project structure and documentation
Introduces a README with project overview, setup instructions,
and course structure.

Adds a VISION document outlining the project's goals, conventions,
and architecture.

Includes updates to the setup module's README to clarify module to
package mapping.
2025-07-10 14:09:04 -04:00
Vijay Janapa Reddi
ca7ae9424d Renames development notebook filenames
Updates references to the development notebook naming convention from `[module].ipynb` to `[module]_dev.ipynb` in documentation. This change ensures consistency across the project and aligns with the intended naming scheme for development notebooks.
2025-07-10 11:35:11 -04:00
Vijay Janapa Reddi
13193777a7 Been refactoring the structure, got setup working 2025-07-10 11:13:45 -04:00
Vijay Janapa Reddi
7ddd1d097d Refactors to use .venv for virtual environment
Updates the project to use `.venv` as the standard virtual environment directory. This change:

- Updates `.gitignore` to ignore `.venv/`.
- Modifies the activation script to create and activate `.venv`.
- Adjusts the `tito.py` script to check for `.venv`'s existence and activation.
- Updates documentation and setup scripts to reflect the new virtual environment naming convention.

This change streamlines environment management and aligns with common Python practices.
2025-07-09 17:40:08 -04:00
Vijay Janapa Reddi
22c3f50dd6 Merge remote-tracking branch 'origin/main' 2025-07-09 17:03:47 -04:00
Vijay Janapa Reddi
293496abcb Adds CLI tool for project setup and management
Introduces a command-line interface (CLI) named 'tito'
to streamline project setup, testing, and information retrieval.

Includes a setup script to automate virtual environment
creation and dependency installation.

Improves the user experience by providing clear instructions
and status indicators within the CLI.
2025-07-09 17:03:44 -04:00
Vijay Janapa Reddi
d19c1593cf Update README.md 2025-07-09 11:24:18 -04:00
Vijay Janapa Reddi
c1a6dd6660 Update README.md 2025-07-09 11:23:51 -04:00
Vijay Janapa Reddi
75413d6a81 Update README.md 2025-07-09 10:50:03 -04:00
Vijay Janapa Reddi
9c57d130f7 Adds initial project README
Introduces the TinyTorch project, a pedagogical tool for building ML systems from scratch.

Provides an overview of the project's goals, system architecture, curriculum integration, and getting started guide.
2025-07-09 01:18:27 -04:00
Vijay Janapa Reddi
25c4910684 Initializes TinyTorch project structure and setup
Sets up the foundational project structure for the TinyTorch ML system, including the CLI entry point, project directories, and setup scripts.

This commit introduces the `tito` CLI for project management, testing, and information display.
It also includes setup scripts to automate environment creation and verification, along with initial documentation.
2025-07-09 00:46:26 -04:00
Vijay Janapa Reddi
38a5381bef Adds initial TinyTorch CLI and core structure
Introduces the foundational CLI structure and core components for the TinyTorch project.

This initial commit establishes the command-line interface (CLI) using `argparse` for training, evaluation, benchmarking, and system information. It also lays out the basic directory structure and essential modules, including tensor operations, autograd, neural network layers, optimizers, data loading, and MLOps components.
2025-07-09 00:23:19 -04:00
Vijay Janapa Reddi
7fe80e2b17 Update README.md 2025-07-08 22:53:35 -04:00
Vijay Janapa Reddi
5367849b79 Initial commit 2025-07-08 22:47:00 -04:00