mirror of
https://github.com/MLSysBook/TinyTorch.git
synced 2026-03-12 00:03:35 -05:00
🎯 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
30 lines
906 B
Python
30 lines
906 B
Python
# NBGrader Configuration for TinyTorch ML Systems Course
|
|
|
|
c = get_config()
|
|
|
|
# Course Information
|
|
c.CourseDirectory.course_id = "tinytorch-ml-systems"
|
|
|
|
# Directory Structure
|
|
c.CourseDirectory.source_directory = "assignments/source"
|
|
c.CourseDirectory.release_directory = "assignments/release"
|
|
c.CourseDirectory.submitted_directory = "assignments/submitted"
|
|
c.CourseDirectory.autograded_directory = "assignments/autograded"
|
|
c.CourseDirectory.feedback_directory = "assignments/feedback"
|
|
|
|
# Solution Removal Configuration
|
|
c.ClearSolutions.code_stub = {
|
|
"python": "# YOUR CODE HERE\nraise NotImplementedError()"
|
|
}
|
|
|
|
# Text Stub for written responses
|
|
c.ClearSolutions.text_stub = "YOUR ANSWER HERE"
|
|
|
|
# Enforce Metadata (require proper cell metadata)
|
|
c.ClearSolutions.enforce_metadata = True
|
|
|
|
# Validation Configuration
|
|
c.Validate.ignore_checksums = False
|
|
|
|
# Logging Configuration
|
|
c.NbGrader.log_level = "INFO" |