Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] - Develop Rubric Generator #116

Open
34 tasks
Ahmedr275 opened this issue Nov 19, 2024 · 1 comment · May be fixed by #110
Open
34 tasks

[Feature] - Develop Rubric Generator #116

Ahmedr275 opened this issue Nov 19, 2024 · 1 comment · May be fixed by #110
Assignees
Labels
type:new-feature For proposals or implementation of entirely new features or functionalities.

Comments

@Ahmedr275
Copy link
Contributor

Develop Rubric Generator Tool

Description

As an educator, I want to generate rubrics for assignments using AI so that I can create detailed, structured grading criteria efficiently and consistently. This tool will help educators define grading standards in table format, allowing for clarity and customization, ensuring alignment with the assignment's objectives.

The tool should allow users to:

  • Select a grade level.
  • Define a point scale.
  • Provide a standard/objective for the assignment.
  • Describe the assignment.
  • Optionally, add customization for the rubric.
  • For the standard/objective, assignment description, and additional customization fields, users should be able to:
    • Either type the input directly or upload one file per prompt in the following formats:
      • Upload: CSV, PDF, DOCX, PPT, Plain Text
      • URLs: YouTube Video, Website, Google Sheets
    • The additional customization field is optional.

Design

Rubric Generator
Rubric Generator-2
Rubric Generator-3
Rubric Generator-1


Acceptance Criteria

  • Feature Requirements:

    • Input Handling:
      • Users can select a grade level from a dropdown menu.
      • Users can specify a point scale (e.g., 4, 5, etc.).
      • Users can input a standard/objective for the assignment via:
        • Direct text input.
        • Document attachment (one file per prompt) in the following formats:
          • Upload: CSV, PDF, DOCX, PPT, Plain Text
          • URLs: YouTube Video, Website, Google Sheets
      • Users can input an assignment description via:
        • Direct text input.
        • Document attachment (one file per prompt) in the following formats:
          • Upload: CSV, PDF, DOCX, PPT, Plain Text
          • URLs: YouTube Video, Website, Google Sheets
    • Rubric Generation Logic:
      • The tool generates a rubric in table format based on the provided inputs.
      • The rubric includes:
        • Categories (e.g., Clarity, Structure, Supporting Arguments).
        • Descriptions of what constitutes different levels of performance within each category, based on the point scale.
      • The tool ensures generated rubrics align with the provided standard and assignment description.
    • Output Format:
      • The output is presented in a table format.
      • The rubric is downloadable as a PDF or DOCX.
  • Technical Implementation:

    • Create a new folder within app/features/ named rubric_generator.
    • Implement the executor function in core.py with input parameters matching the tool's functionality, including type hints.
    • Use tools.py for abstractions and helper functions to keep core.py clean and maintainable.
    • Include a metadata.json file defining the input parameters for proper validation.
    • Utilize a prompt/ folder for AI-driven generation prompts if necessary.
    • Implement logging and error handling as per platform standards.
  • Unit Tests:

    • Write unit tests for all functions and classes in core.py and tools.py using PyTest.
      • Tests cover:
        • Normal operation with valid inputs.
        • Edge cases and invalid inputs.
        • Error handling and exceptions.
  • Code Quality and Documentation:

    • Ensure code follows best practices for readability and maintainability.
      • Use consistent naming conventions.
      • Include type hints for all functions and methods.
      • Avoid redundant or unnecessary code.
    • Add docstrings to all functions and classes explaining their purpose and usage.
    • Provide comments within the code where necessary to explain complex logic.
  • Integration and Testing:

    • Ensure the feature integrates seamlessly with the existing Marvel AI platform.
      • The executor function is compatible with the router.py layer for request handling.
      • Inputs are validated as per the platform's requirements.
    • Test the entire feature from input handling to output generation.
      • Verify that users can input their data and receive the expected outputs without errors.

Sample Output

Input:

  • Grade Level: 9th Grade
  • Point Scale: 4
  • Standard/Objective: Write an argumentative essay.
  • Assignment Description: Write a persuasive essay that convinces school heads to change a policy.
  • Additional Customization: Include supporting arguments as a category assessed.

Output:

Category 4 Points (Exceeds Expectations) 3 Points (Meets Expectations) 2 Points (Approaching Expectations) 1 Point (Below Expectations)
Clarity Argument is exceptionally clear and concise, with no ambiguity. Argument is clear and concise, with minimal ambiguity. Argument is somewhat clear but contains occasional ambiguity. Argument is unclear and difficult to follow.
Organization Essay is exceptionally well-organized, with a logical flow throughout. Essay is well-organized, with a logical flow and minor issues. Essay shows some organization but lacks logical consistency. Essay is poorly organized and lacks logical structure.
Supporting Evidence All claims are thoroughly supported with highly relevant evidence. Most claims are supported with relevant evidence. Some claims are supported, but evidence is weak or insufficient. Few or no claims are supported by evidence.
Grammar and Mechanics Writing is error-free and demonstrates mastery of language conventions. Writing has minor errors that do not interfere with meaning. Writing contains noticeable errors that interfere with meaning. Writing has frequent errors that make it difficult to understand.
Creativity and Style Writing demonstrates exceptional creativity and an engaging style. Writing shows creativity and style, though somewhat limited. Writing has limited creativity or an inconsistent style. Writing lacks creativity and is bland or uninspired.

Resources

  1. Design Mockup

Please ensure that each of these criteria is fulfilled for the issue to be considered complete.

@Ahmedr275 Ahmedr275 added the type:new-feature For proposals or implementation of entirely new features or functionalities. label Nov 19, 2024
@Ahmedr275 Ahmedr275 moved this to Todo in Issues board Nov 19, 2024
@Ahmedr275 Ahmedr275 changed the title [Feature] - Develop Rubric Generator Tool [Feature] - Develop Rubric Generator Nov 25, 2024
@AaronSosaRamos AaronSosaRamos linked a pull request Nov 26, 2024 that will close this issue
@AaronSosaRamos
Copy link
Collaborator

#110 needs to be checked against acceptance criteria

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:new-feature For proposals or implementation of entirely new features or functionalities.
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

2 participants