As an educator using the Marvel AI platform, I want to generate AI-resistant assignments so that my students are challenged to engage deeply with the material without relying on AI tools to complete their work. This feature will help preserve the educational value of assignments by ensuring students develop critical thinking skills and truly understand the content.
Design
Acceptance Criteria
Feature Requirements:
Input Handling:
[ ] Users can specify the grade level of their students as an input parameter.
[ ] Users can upload 1 assignment file or URL in the following supported formats:
Upload (CSV, PDF, DOCX, PPT, Plain Text)
URLs (Youtube Video, Website, Google Sheets)
[ ] The system validates the uploaded assignment files to ensure they are in one of the supported formats.
Assignment Modification Logic:
[ ] The tool generates three distinct AI-resistant assignment ideas based on the uploaded assignment and input parameters.
[ ] Each idea retains the core educational objectives of the original assignment.
[ ] Each idea includes modifications that make it challenging for AI tools to generate responses.
[ ] The modifications are varied across the three ideas to provide distinct options for the user.
AI Resistance Explanation:
[ ] For each assignment idea, the tool provides a detailed explanation of the modifications made.
[ ] Explanations highlight why and how each change enhances AI resistance.
[ ] Reasons are clear, concise, and directly relate to limitations of common AI tools.
Output Format:
[ ] The output is in plain text format.
[ ] The output focuses on generating ideas for AI-resistant assignments, not full assignment texts.
[ ] The output includes:
Assignment Idea
Explanation of AI Resistance
Technical Implementation:
[ ] Create a new folder within app/features/ named appropriately for the tool.
[ ] 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 if prompt templates are needed.
[ ] 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.
Please ensure that each of these criteria is fulfilled for the issue to be considered complete.
Sample Output
Input:
Grade Level: University
Assignment:
Let’s implement a simple Neural Network using PyTorch. Dataset for the neural network is available at:
<https://gist.githubusercontent.com/netj/8836201/raw/iris.csv>
1. PyTorch implementation
2. Forward pass
3. Backward propagation
Output:
Update to Make this Assignment AI-Resistant (Idea 1):
Assignment Description:
Implement a simple Neural Network using PyTorch.
Collect your own dataset with at least 100 samples and 4 features relevant to a unique problem of interest.
Perform a forward pass and backward propagation on your custom dataset.
Include a detailed reflection on the data collection process, challenges faced, and solutions implemented.
Explanation: By requiring students to collect and use their own dataset, the assignment becomes personalized and less likely to be completed solely by AI. This modification compels students to engage deeply with data collection, a task not easily replicated by generative AI.
Update to Make this Assignment AI-Resistant (Idea 2):
Assignment Description:
Implement a simple Neural Network using PyTorch.
Perform a forward pass and backward propagation on the Iris dataset.
Modify the neural network architecture in a novel way (e.g., change activation functions, add layers, introduce dropout) and justify your choices.
Compare the performance of the modified network with the original, presenting findings with visualizations and statistical analysis.
Explanation: By asking for modifications and justifications, the assignment requires higher-order thinking and creativity. It becomes harder for AI to generate complete solutions involving subjective decisions and unique analyses.
Update to Make this Assignment AI-Resistant (Idea 3):
Assignment Description:
Implement a simple Neural Network using PyTorch.
Perform a forward pass and backward propagation on the Iris dataset.
Collaborate with a peer to critique each other's implementations. Write a peer review report highlighting strengths, weaknesses, and improvement suggestions.
Revise your neural network based on peer feedback and document the changes made.
Explanation: Incorporating peer review adds critical analysis and iterative improvement, which AI cannot easily handle. It requires engagement with others' work and refinement based on unique feedback.
Develop AI-Resistant Assignment Generator Tool
Description
As an educator using the Marvel AI platform, I want to generate AI-resistant assignments so that my students are challenged to engage deeply with the material without relying on AI tools to complete their work. This feature will help preserve the educational value of assignments by ensuring students develop critical thinking skills and truly understand the content.
Design
Acceptance Criteria
app/features/
named appropriately for the tool.executor
function incore.py
with input parameters matching the tool's functionality, including type hints.tools.py
for abstractions and helper functions to keepcore.py
clean and maintainable.metadata.json
file defining the input parameters for proper validation.prompt/
folder if prompt templates are needed.core.py
andtools.py
using PyTest.executor
function is compatible with therouter.py
layer for request handling.Please ensure that each of these criteria is fulfilled for the issue to be considered complete.
Sample Output
Input:
Assignment:
Output:
Update to Make this Assignment AI-Resistant (Idea 1):
Assignment Description:
Explanation: By requiring students to collect and use their own dataset, the assignment becomes personalized and less likely to be completed solely by AI. This modification compels students to engage deeply with data collection, a task not easily replicated by generative AI.
Update to Make this Assignment AI-Resistant (Idea 2):
Assignment Description:
Explanation: By asking for modifications and justifications, the assignment requires higher-order thinking and creativity. It becomes harder for AI to generate complete solutions involving subjective decisions and unique analyses.
Update to Make this Assignment AI-Resistant (Idea 3):
Assignment Description:
Explanation: Incorporating peer review adds critical analysis and iterative improvement, which AI cannot easily handle. It requires engagement with others' work and refinement based on unique feedback.
Resources