Skip to contents

We define team grading to be when the grade of an assignment is assigned to multiple students.

This vignette displays gradetools’s extended capability of handling team grading. As this is an extended capability we assume the user knows the basics of gradetools. If not, please refer to the vignette “how-to-grade-with-gradetools”.

This vignette will walk the user through what needs to be done differently when team grading versus regular grading. An additional column needs to be present in the roster specifying which team the student belongs to and assist_team_grading() will be used to grade the student.

Obtaining the example directory

For this example we will use the example directory called example-team-grading-directory-week09-regression in the team-grading-week09-regression repository in our gradetools-test-course on GitHub.

We will be using everything in the example-team-grading-directory-week09-regression folder. This folder contains the class-roster.csv, quiz-09a-lin-reg-rubric.csv, and a folder named quizzes which contains the students’ quizzes.

Preparing to grade

For our purposes we will assume the rubric has already been created. Please refer to the “how-to-grade-with-gradetools” vignette for rubric creation.

Note that now we only have two quizzes since Catalina and Mine worked together on quiz 2 and will share the grade for that assignment.

The roster

The roster is also different from that in the example-directory-week09-regression. Team grading requires an additional column to be present in the roster, team_identifier. This identifier would be something shared among students in the same team.

The team identifier should be unique enough that it does not unintentionally match to something else in the assignment file path. We know the student_identifier (team_identifier in this case) must be the only thing unique to the student (team) in the assignment file path and the feedback file path.

An example of a bad team_identifier would be labeling a team “a” or “1”. assist_team_grading() would look for any instance of the example_student_identifier in the example_assignment_path and replace each instance with a student_identifier (team_identifier) from the roster. This is how all assignment file paths are determined. Similarly for feedback file paths. “a” and “1” are single characters that could easily be present in the file paths without intentionally being the student_identifier (team_identifier).

Grading with assist_team_grading()

To do team grading in gradetools we will use assist_team_grading().

assist_team_grading(
  rubric_path = "quiz-09-lin-reg-rubric.csv", 
  roster_path = "class-roster.csv", 
  grading_progress_log_path = "quiz-09-lin-reg-grading_progress_log.csv", 
  final_grade_sheet_path = "quiz-09-lin-reg-final-grade-sheet.csv", 
  example_team_identifier = "team1",
  example_assignment_path = "quizzes/quiz-09a-lin-reg-team1.Rmd", 
  example_feedback_path = "quizzes/feedback-quiz-09a-lin-reg-team1.html", 
)

This exact function call assumes that example-team-grading-directory-week09-regression is the working directory.

We will skip the process of grading because that is shown in the “how-to-grade-with-gradetools” vignette.

When regrading with assist_regrading() the only difference when team grading is teams_to_regrade must be provided and students_to_regrade must be set to NULL.

Final notes

The assist grading function handles teams as individual students in the grading progress log. The final grade sheet will have a row per student but the grading progress log will have one row per team. This internal difference does not change the process of grading but may be confusing to a user who wanted to look through their grading progress log.

The GitHub compatible functionalities discussed in the vignette “Extended gradetools capability: Assignments on GitHub” also work with assist_team_grading(). assist_team_grading() is essentially a wrapper of assist_advanced_grading() specifically for team grading.