-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
As a developer working on the Adaptive Learning project, I want to integrate an intelligent Quiz Module as a new tab in the unified Panel-based user interface. This module should simulate interactive, multi-turn quizzes where students answer AI-generated questions and get instant feedback, with scoring and progress tracking built-in.
The new Quiz tab will be added to panel_gui_tabs.py and must work independently from other tabs (like Learning Assistant or Math Mastery), while sharing the same layout and architecture.
Acceptance Criteria
- The Quiz tab appears as a new entry in the Panel UI
- The tab works independently with isolated state and group chat instance
- Each student answer is evaluated and scored:
- Correct →
+1 - Incorrect →
0
- Correct →
- Progress is tracked and shown via a progress bar and score label
- The app runs without errors via
python -m src.UI.panel_gui_tabs - All quiz-related code is well-structured and reviewed
Conditions of Satisfaction
Tab Structure
- Condition: Quiz tab appears
- Test: Launch app and check for tab labeled “Quiz”
- Satisfaction: Quiz tab is visible and interactive
Agent + FSM Flow
- Condition: Quiz uses independent group chat and FSM logic
- Test: Quiz runs using fresh agents and isolated
CustomGroupChatManager - Satisfaction: Quiz works without interfering with other tabs
Score Evaluation
- Condition: Each quiz response is evaluated and scored
- Test: Submit multiple answers and check point updates
- Satisfaction: Points are added for correct answers and 0 for wrong
Progress Tracker
- Condition: Tab shows live quiz progress and a result table
- Test: Watch score + table update after every question
- Satisfaction: Table logs question, answer, and points; bar reflects progress
Peer Review
- Condition: Reviewed by a peer or mentor
- Test: Code walkthrough or pull request review
- Satisfaction: Approval from reviewer, no blockers
Definition of Done
- The Quiz tab is functional and visible in
pn.Tabs() - ReactiveChat for quiz supports AI questions and evaluation
- Quiz tab contains subject selector, feedback, and progress
- Points logic implemented:
+1 for correct,0 for wrong - Code is modular, documented, and appears in README
- Quiz runs without conflicts with other tabs or FSMs
Tasks & Subtasks with Estimates
ALP.12 Add Quiz Tab to Adaptive Learning UI (15 hours) – #455
ALP.12.1 Create Quiz Tab Logic (6 hours)
- ALP.12.1.1 Create
panel_gui_tabs19_priya.py - ALP.12.1.2 Set up fresh agents and
CustomGroupChatManager - ALP.12.1.3 Build UI layout with subject selector and markdown prompts
- ALP.12.1.4 Link
ReactiveChat(tab_type="quiz")to this tab
ALP.12.2 Add Points-Based Scoring System (5 hours)
- ALP.12.2.1 Modify
ReactiveChat.update_progress()logic - ALP.12.2.2 Track and display quiz score using a label
- ALP.12.2.3 Add
Pointscolumn to the progress table
ALP.12.3 Final Integration (4 hours)
- ALP.12.3.1 Import tab using
create_quiz_tab()inpanel_gui_tabs.py - ALP.12.3.2 Test full app flow and UI consistency
- ALP.12.3.3 Add inline docstrings and update README
Metadata
Metadata
Assignees
Labels
No labels