Skip to main content

Utility to average gradescope csv output to final grades

Project description

Gradescope Mean

A utility which computes final grades (example: grade_full.csv) from gradescope outputs. It allows the instructor to ...

  • weight assignments per category
    • e.g. all HW assignments are 50% of grade
  • waive lowest N assignments per category
    • e.g. 2 lowest HW assignments, per student, are waived
  • apply a late penalty (per day) that assignments are submitted beyond deadline
    • e.g. HW is penalized 15% of average assignment hw weight for every day late it is submitted
    • also includes support for not penalizing the first N "late days" per assignment category (e.g. each student may use up to 3 "late days" across all HWs without penalty)
  • waive assignments per individual student
  • waive late penalties per individual student's assignment
  • validate gradescope student list by passing an email list of active students
    • e.g. one student has a low average grade, have they dropped the course?
  • exclude assignments which shouldn't be included in final grade
    • assignments automatically excluded if they don't have some minimum completion threshold
  • substitute one assignment in place of another (where substitute has higher percentage)
    • e.g. to "merge" two versions of the quiz with their own unique gradescope assignment
      1. substitute quiz_02 for quiz_01
      2. exclude quiz_02

Installation

pip3 install gradescope-mean

Usage

Download all gradescope assignments to some local scope.csv file (Assignments > Download Grades > Download CSV) and run:

python -m gradescope_mean scope.csv

to create output grade_full.csv using default configuartion. This first run will have created a config.yaml configuration file which you can modify to take advantage of the functionality listed above (details given in the configuration doc). To re-run with your configuration options:

python -m gradescope_mean scope.csv --config config.yaml

Other outputs

  • Provide an output file via --late_csv to observe late days per student-assignment pair.

  • Provide the --per_student flag to create a folder of student-specific csvs, helpful for emailing students the particulars of their grades.

  • Pass the --plot flag above to view histograms (hist.html) per assignment category:

histogram per category

Exporting Grades

The interface above yields a "grade_full.csv" which can be processed so its ready to import into canvas or Northeastern's Banner, see links for detail.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gradescope_mean-0.0.16.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gradescope_mean-0.0.16-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file gradescope_mean-0.0.16.tar.gz.

File metadata

  • Download URL: gradescope_mean-0.0.16.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gradescope_mean-0.0.16.tar.gz
Algorithm Hash digest
SHA256 07a57ede33a69a333abe6fbf48560bf576926ebf5fe6ded10f568ff960406eff
MD5 3ca33097c08bba5df62d1f596c8d3b8a
BLAKE2b-256 8a1c05c7d65c5cc8f23f35c7649c700516d954c1c93d44a6e7d01b8655391a1a

See more details on using hashes here.

File details

Details for the file gradescope_mean-0.0.16-py3-none-any.whl.

File metadata

File hashes

Hashes for gradescope_mean-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 17811f8c8d06d3d1f7a64ba1fcc5f887e7f8732917c32d2618f15d4c1c740099
MD5 cc6fa7f0122658b7f2709053a3995353
BLAKE2b-256 7a2121a3e87bf47d5c4d98dd58a9479d913cf09668c6508cce9c9d807f715455

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page