Get up and running with the Binary Math Interactive Tutor in under 5 minutes.
# Navigate to project directory
cd /Users/bhunt/development/claude/binary
# Verify file structure
ls -la src/
# Should see:
# - interactive_tutor.py
# - __init__.py
# - README.md# Test all functionality
python3 demo_tutor.pyExpected Output: "All demos completed successfully! ✓"
python3 src/interactive_tutor.py- Select "1. Start New Lesson"
- Choose lesson: "1. Binary Basics"
- Choose difficulty: "1. Beginner"
- Answer questions by typing your answer
- Type
hfor a hint - Type
sto save progress - Type
qto quit to menu
- Select "2. Resume Lesson"
- Choose your saved session
- Continue from where you left off
Binary Math Interactive Tutor
Main Menu:
1. Start New Lesson
2. Resume Lesson
3. Practice Mode
4. View Progress
5. Exit
Select option: 1
Select Your Lesson:
1. Binary Basics - Introduction to Base-2 Numbers
...
Select lesson: 1
Choose Difficulty Level:
1. Beginner - Step-by-step guidance, unlimited hints
...
Select difficulty: 1
============================================================
Question 1/3
============================================================
Convert decimal 10 to binary
Commands: n=next | b=back | h=hint | r=retry | s=save | q=quit | ?=help
> 1010
✓ Correct! Streak: 1
============================================================
Question 2/3
============================================================
Convert binary 1101 to decimal
Commands: n=next | b=back | h=hint | r=retry | s=save | q=quit | ?=help
> h
💡 Hint 1/999:
Each position is a power of 2: 2^3, 2^2, 2^1, 2^0
> 13
✓ Correct! Streak: 2
| Command | Description |
|---|---|
h |
Request a hint (limited by difficulty) |
n |
Next question |
b |
Previous question |
s |
Save progress |
q |
Quit to main menu |
? |
Show help |
| [answer] | Answer current question |
Sessions are saved to: ~/.binary_tutor/sessions/
View your saved sessions:
ls -la ~/.binary_tutor/sessions/- Unlimited hints
- Step-by-step guidance
- Detailed explanations
- 3 hints per problem
- Moderate guidance
- Standard explanations
- 1 hint per problem
- Minimal guidance
- Concise explanations
- Decimal to binary conversion
- Binary to decimal conversion
- Binary arithmetic
- AND, OR, NOT operations
- XOR operations
- Gate evaluation
- Building truth tables
- Reading truth tables
- Analyzing expressions
- Mixed problem types
- Adaptive difficulty
- Timed sessions
# Disable colors in code
# Edit src/interactive_tutor.py line ~750:
self.display = DisplayRenderer(use_colors=False)# Check/create directory
mkdir -p ~/.binary_tutor/sessions
chmod 755 ~/.binary_tutor/sessions- Make sure to press Enter after typing command
- Use lowercase letters
- Check available commands with
?
- Use hints wisely - They help you learn, but try solving first
- Save often - Type
sto save your progress - Check stats - Use "View Progress" to see your accuracy
- Resume sessions - Don't lose progress, resume anytime
- Practice mode - Use for mixed problem review
- Complete all Binary Basics lessons
- Progress to Logic Gates
- Master Truth Tables
- Challenge yourself with Advanced difficulty
- Try Practice Mode for mixed problems
from src.interactive_tutor import TutorOrchestrator
tutor = TutorOrchestrator()
tutor.run()from src.interactive_tutor import SessionManager
manager = SessionManager()
sessions = manager.list_active_sessions()
print(f"Active sessions: {len(sessions)}")from src.interactive_tutor import DisplayRenderer
# Disable colors
display = DisplayRenderer(use_colors=False)
# Use custom renderer
display.show_success("Custom message!")The current implementation uses mock lesson data. To integrate with actual lesson modules:
-
Implement lesson modules following the interface:
binary_basics.pylogic_gates.pytruth_tables.pypractice_generator.py
-
Update
TutorOrchestrator._start_new_lesson():# Replace this: self.current_lesson = LessonInterface(lesson_type, difficulty) # With this: lesson_classes = { LessonType.BINARY_BASICS: BinaryBasicsLesson, LessonType.LOGIC_GATES: LogicGatesLesson, LessonType.TRUTH_TABLES: TruthTablesLesson, } self.current_lesson = lesson_classes[lesson_type](difficulty)
- Documentation: See
/src/README.md - Architecture: See
/INTERACTIVE_TUTOR_ARCHITECTURE.md - Implementation: See
/IMPLEMENTATION_SUMMARY.md
# Run demo
python3 demo_tutor.py
# Run interactive tutor
python3 src/interactive_tutor.py
# View sessions
ls -la ~/.binary_tutor/sessions/
# Clean sessions
rm -rf ~/.binary_tutor/sessions/*You're ready to go! Start learning binary math! 🎓