Skip to content

Conversation

@thomasporter522
Copy link
Contributor

Updated gradescope related logic in dev

@thomasporter522
Copy link
Contributor Author

The logic in the gradescope directory are LLM translations of the prior perl scripts

@@ -0,0 +1,110 @@
# Python Autograder System

This directory contains the Python equivalent of the Perl-based Gradescope autograder system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is no Perl-based system in the repo anymore

INSTRUCTORS.md Outdated
3. Update the `src/haz3lschool/Specs.re` module with `<module_name>.exercise`.

4. Run `dune exec ./src/haz3lschool/gradescope.exe <path_to_student_json>` under project root to print the grade report.
2. Run `make gradescope ZIP=<path to submissions zipfile> COURSE=<course_id> ASSIGNMENT=<assignment_id>` under project root to generate grade reports and upload them to Gradescope.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add instructions or pointer to the README for how to print the autograder report to the terminal rather than immediately sending it out to Gradescope

4. **Rich Ecosystem**: Easy access to scientific/data processing libraries
5. **JSON Native**: Built-in JSON handling

## Migration Notes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not necessary

}
```

## Advantages of Python Version
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not necessary

@@ -0,0 +1,100 @@
#!/usr/bin/env python3
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move to a gradescope subdirectory of a base grading directory

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to be generated with a make target, rather than included as a binary blob

@thomasporter522
Copy link
Contributor Author

It currently can grade individual submissions. I think we should merge it so the grading logic remains in sync with dev. The missing features are batch grading, export to gradescope, and autograder generation, and these are hard to fix without access to submissions that are in-sync with current dev (last semesters I think are using different exercise formats), so I propose that we just wait until we have such submissions and then port over these capabilities from the previous commit.

@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 49.80%. Comparing base (cf38c33) to head (42194f7).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #2053      +/-   ##
==========================================
- Coverage   49.87%   49.80%   -0.07%     
==========================================
  Files         218      218              
  Lines       23103    23103              
==========================================
- Hits        11522    11506      -16     
- Misses      11581    11597      +16     

see 14 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants