PrairieLearn / PrairieLearn

Online problem-driving learning system
http://prairielearn.readthedocs.io/
Other
354 stars 320 forks source link

Gradebook ideas #3606

Open mwest1066 opened 3 years ago

mwest1066 commented 3 years ago

This is a collection of ideas for future full gradebook functionality.

  1. Allow the creation of extra assessments that are purely for score upload. Assessment instances will get made during instructor score upload, not by students.
  2. Add curving for assessments and overall course score. See https://edatscale.org/2020/12/24/simple-exam-score-curving-with-mtm/
  3. Add an "exempt" flag for assessments, so that an instructor can mark a student as exempt from a particular assessment. This could be a separate table, or we could store it in the assessment instances.
  4. Add a "weight" parameter to assessments and compute assessment-set average scores (e.g., average quiz score) with these weights.
  5. Allow assessments to be marked as retries of other assessments, with a combining function (e.g., alphamax + (1-alpha)min).
  6. Add a "weight" parameter to assessment sets, and use this to compute an overall course score.
  7. Add a map from overall course scores to letter grades.
  8. Allow manual upload/download of overall course score and letter grades.
  9. Allow a course-instance server.py with a grade() function that is given all assessment score information and can update overall scores and letter grades.
  10. Add a "grade predictor" tool for students, where they can fill in future scores and see what overall grade they would get.
mwest1066 commented 3 years ago

See #3605 for a similar idea about grade() functions on a per-assessment level.

jonatanschroeder commented 3 years ago

For computing assessment-set averages, also include a setting for "drop lowest/highest X assessments".

There also needs to be some discussion on what is shown on assessment-set averages while there are unstarted or ungraded assessments, or assessments with unpublished grades (e.g., showClosedAssessmentScore set to false).

daviddalpiaz commented 3 years ago

One minor gradebook thought I'll put here while I'm thinking about it: Allow for sorting of columns?

Currently, if you click a column heading, it takes you to that assessment. I know this, because I do it a lot expecting it to sort the columns. The use case here is something like sorting on an exam grade to get a quick look at something like homework grades for students that didn't do well.

alvaromonge commented 3 years ago

Here's a suggestion for the list... Provide a student view of the stats for assessments and even questions. It's good for students to understand where they are in the assessment relative to the class. Otherwise knowing that you have a 75% isn't helpful unless you know that the highest score was 82% and other information like the standard deviation and even the score distribution. Perhaps the instructor can also control when to enable this view and for which assessments.

firasm commented 1 year ago

ooooh 9 sounds really useful:

Allow a course-instance server.py with a grade() function that is given all assessment score information and can update overall scores and letter grades.