Skip to content

Integrate Quiz Tabs into Unified Adaptive Learning UI #457

@bhasker1315

Description

@bhasker1315

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
  • 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 Points column to the progress table

ALP.12.3 Final Integration (4 hours)

  • ALP.12.3.1 Import tab using create_quiz_tab() in panel_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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions