ayalac1111 / GradeIt

GradeIt is an advanced and flexible tool designed to grade various configurations and tasks using an answer key file.
0 stars 0 forks source link

Identify "orphan" files #6

Open ccnadude opened 1 month ago

ccnadude commented 1 month ago

The script should identify any files that it finds where there is no matching student in the student CSV file. I've had a couple of students mess up their own username in the file names. One was just a case of capitalizing the first letter of their username.

ayalac1111 commented 1 month ago

To address this problem while keeping the GradeMaster focused on grading, I propose implementing a separate utility script to identify and handle these kinds of filename mismatches.

Proposed Solution: Utility Script for Submission Validation

The utility script will:

  1. Scan all files in the submission directory.
  2. Compare filenames to the usernames listed in students.csv.
  3. Identify files that don’t match any student in the CSV, ensuring all submissions adhere to the expected naming convention (e.g., {username}-{assignment}.txt).
  4. Suggest corrections by guessing potential student matches, especially for common issues like capitalization errors or minor typos (using fuzzy matching).
  5. Provide an option for either automatically correcting minor filename errors or flagging files for manual review.

Workflow:

Standalone Utility: The script will run separately from the grading process and can be executed before grading starts. This will ensure that all student submissions are correctly matched with their respective records in the CSV file. Output Report: The utility will generate a report/log that lists any mismatched files, along with suggested corrections for easy resolution.

Benefits:

This approach will help streamline the grading process by ensuring that all files are properly named and matched with students before grading begins, reducing the likelihood of any missed submissions.

Let me know if you have any questions or need additional clarification!