Description
Build a guided tutorial system that teaches digital logic concepts step by step. Students follow instructions to build circuits, with automatic validation at each step.
Tutorial Scope
- Basic gates (AND, OR, NOT)
- Combinational circuits (MUX, decoder, adder)
- Sequential logic (flip-flops, latches, counters)
Acceptance Criteria
Implementation Guide
1. Tutorial format
- Define tutorials as JSON/YAML files with steps
- Each step:
{ instruction, hint, validationRule, requiredElements, expectedConnections }
- Bundle tutorials as Qt resources under
App/Resources/Tutorials/
2. Tutorial engine
- Create
TutorialEngine class that loads a tutorial file and manages step progression
- Validation: compare current scene elements/connections against expected state
- Partial match: highlight what's correct and what's missing
3. Tutorial overlay UI
- Semi-transparent overlay panel on the canvas with:
- Current step instruction text
- Step progress indicator (3/10)
- Next/Previous/Hint buttons
- Highlight relevant areas of the canvas (e.g., "connect this port to that port")
4. Progress persistence
- Store completed tutorials and current step in
QSettings
- Show completion status in a tutorial browser dialog
Key files
App/Scene/Scene.h/.cpp — element/connection queries for validation
App/UI/MainWindow.cpp — tutorial menu and overlay hosting
- New files:
App/Tutorial/TutorialEngine.h/.cpp, App/Tutorial/TutorialOverlay.h/.cpp
- New resources:
App/Resources/Tutorials/*.json
Description
Build a guided tutorial system that teaches digital logic concepts step by step. Students follow instructions to build circuits, with automatic validation at each step.
Tutorial Scope
Acceptance Criteria
Implementation Guide
1. Tutorial format
{ instruction, hint, validationRule, requiredElements, expectedConnections }App/Resources/Tutorials/2. Tutorial engine
TutorialEngineclass that loads a tutorial file and manages step progression3. Tutorial overlay UI
4. Progress persistence
QSettingsKey files
App/Scene/Scene.h/.cpp— element/connection queries for validationApp/UI/MainWindow.cpp— tutorial menu and overlay hostingApp/Tutorial/TutorialEngine.h/.cpp,App/Tutorial/TutorialOverlay.h/.cppApp/Resources/Tutorials/*.json