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 Groups page.

Group assignment types

Set the type when creating the assignment:
  • Group optional — students can submit alone or form a group.
  • Group required — students must be in a group to submit.
Group settings also include a minimum and maximum group size and a group-formation deadline (after which the student-side group UI is locked).

Forming groups

Three formation methods are available:
  • Student-formed — students create and join groups themselves via the invitation flow described in Forming Groups.
  • Instructor-assigned — staff assign students from the Groups page.
  • Copy from another assignment — reuse the group composition (and optionally mentor assignments) from a previous assignment.
Use the Groups page to create groups manually, add or remove members, rename or delete groups, and move students between groups. Changes are staged locally and applied atomically when you click Publish. Publishing creates or updates memberships in the database, creates GitHub repositories for any new groups, and queues permission-sync jobs.
Students are not notified about group assignments until the assignment is released, so you can prepare and adjust groups in advance.

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.
  • Preserved when copying groups between assignments.
  • 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 to CSV on the Groups page to download:
ColumnContents
GroupNameThe group’s name.
StudentNamesAll members in Name <email> format, comma-separated.
MentorNameAssigned mentor in Name <email> format, or empty.
GroupName,StudentNames,MentorName
team-alpha,"Alice Smith <alice@example.com>, Bob Jones <bob@example.com>",Dr. Johnson <johnson@example.com>
team-beta,"Carol White <carol@example.com>, David Brown <david@example.com>",Prof. Lee <lee@example.com>
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.