Skip to main content

Groups

Pawtograder supports group assignments where two or more students share a single repository, submit together, and (by default) receive the same grade. Instructors manage groups from the assignment’s Manage Groups page.

Submission type

Set Submission type when creating the assignment:
  • Individual Submissions Only — no groups.
  • Group Submissions Only — students must be in a group to submit.
  • Individual or Group Submissions — the group-optional case; students can submit alone or form a group.
Group settings also include Minimum group size, Maximum group size, and an optional group-formation deadline, after which students can no longer change groups.

Forming groups

Group formation method has two options:
  • Students can form groups — students create and join groups themselves via the invitation flow described in Forming Groups.
  • Instructor only — staff assign students from Manage Groups.
Use Manage Groups to create groups manually, add or remove members, rename or delete groups, and move students between groups. Changes are staged locally and applied in one operation when you click Publish Changes. Publishing creates or updates memberships, creates GitHub repositories for any new groups, and queues permission-sync jobs. If individual items fail, the rest still go through: the failed moves and groups stay staged for you to retry, and you get a “Published with errors” toast.
Adding or removing a member notifies the group’s other members, including when the change comes from publishing. That notification is suppressed while the assignment is unreleased, so you can prepare and adjust groups in advance.

Copying groups from a prior assignment

Copy Groups from Prior Assignment on Manage Groups reuses the group names, memberships, and mentors from another assignment. Mentors are copied unconditionally; there is no opt-out. The button is disabled until the course has another assignment whose submission type allows groups. On a course with only one group assignment there is no source to copy from, so the control appears greyed out rather than missing.
This is not staged. The dialog says so in bold: “This action is not staged. It runs as soon as you click overwrite and does not wait for the page’s Publish Changes button.” The confirm button is Overwrite Groups Now, and clicking it immediately overwrites the assignment’s current groups and memberships.Existing groups that become empty are removed when they have no submission history. Groups with submission history are preserved, so graded work stays intact.

Group mentors

Each group can have a single assigned mentor — typically a grader or instructor. Set the mentor from the Mentor dropdown for each row; the change saves immediately. Mentors are:
  • Displayed to students on their submission page and group widget.
  • Available as an auto-assign target via the Assign to group mentors bulk grading mode.
  • Copied along with the groups when you copy from a prior assignment.
  • Included in the CSV export below.

Individual grading

For group assignments, rubric parts can be marked is_individual_grading: true so each group member receives a separate score on that part, or is_assign_to_student: true so the grader picks which member a part applies to. The full schema and grading flow are in Handgrading → Individual grading for group assignments.

Exporting groups to CSV

Click Export as CSV on Manage Groups to download:
The file is UTF-8 with BOM (so Excel opens it correctly), rows are sorted alphabetically, and any cell starting with =, +, -, or @ is escaped to prevent CSV-injection in spreadsheet apps. The student export (from the Students page) uses the same Name <email> format for the student column.

Group permissions and grades

When a group is published:
  • All members are added as collaborators to the shared GitHub repo.
  • Any member can push; the submission is recorded for the group.
  • All members see the same handgrading feedback and rubric scores, unless a part is configured for individual grading.
  • Late tokens and extensions apply at the group level — using a token or being granted an extension covers every member. See Extensions.