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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions