Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions staff/assignments/autograding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,29 @@ The autograder system uses an "overlay grader" architecture that allows flexible

*Detailed documentation coming soon.*

## Test Insights and Error Explorer

Pawtograder provides powerful tools to help you understand and debug common student errors:

### Error Explorer

View grouped test failures across all submissions to identify patterns and common issues. The error explorer allows you to:

- See which students are affected by specific errors
- Copy affected students' email addresses for communication
- Launch regrading workflows directly from error groups

### Regrade Workflow

The improved regrade workflow streamlines the process of re-running autograders:

1. **Launch from Error Explorer**: Start a regrade directly from an error group
2. **Preselect Submissions**: Submissions are automatically selected on the autograder page
3. **Choose Commits**: Select specific commits or enter a manual SHA in the regrade dialog
4. **Auto-promote**: Optionally promote the new submission as the active submission

This workflow includes conflict detection and clearer validation for solo office-hours requests.

## Quickstart: Java and Python

Build system integration guides for common programming languages.
Expand Down
13 changes: 12 additions & 1 deletion staff/assignments/grading-assignments.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Pawtograder will automatically ensure that graders do not grade assignments that

## Assigning Grading Tasks

Pawtograder's "Bulk Assign Grading" feature (from an Assignment's "Grading Assignments" page) allows instructors to assign grading tasks to staff in bulk.
Pawtograder's "Bulk Assign Grading" feature (from an Assignment's "Grading Assignments" page) allows instructors to assign grading tasks to staff in bulk. When reassigning a rubric part to a TA who already completed grading a different rubric part for the same submission, the system automatically clears the completion timestamp so the new work appears in their pending work list.

<Frame>
<img src="/images/staff/assignments/grading-assignments-1756052527424.png" alt="Bulk Assign Grading form with distribution options" />
Expand All @@ -37,3 +37,14 @@ You can choose to reuse existing grading assignments (e.g. if you want to assign
Lastly, you can choose to enforce that graders are **not** assigned to the same submission as they were on a prior assignment or rubric. This feature is useful to assign meta-graders, where the meta-grader is a different grader than the one who graded the submission.

You will be able to preview the assignments before creating them, and can manually tweak them through the drag-and-drop interface.

## Grading Status Dashboard

The grading status dashboard provides a comprehensive overview of grading progress across all assignments. Use this dashboard to:

- Monitor completion rates for assigned grading tasks
- Track which graders are on schedule or falling behind
- Identify bottlenecks in the grading workflow
- View grading statistics across multiple assignments

This helps instructors ensure timely feedback to students and manage grading workload effectively.
2 changes: 2 additions & 0 deletions staff/assignments/handgrading.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Instructors can define multiple handgrading rubrics for each assignment, althoug

Once all required rubric checks are done, the grader can click the "Complete Review" button to confirm that they have completed grading. This does **not** release the review to the student, but indicates to the instructor that it **could** be released (at the instructor's discretion).

TAs can edit or delete rubric scores even after completing a review, allowing them to make corrections or adjustments as needed.

## Grading Submissions That You Have Been Assigned

When you have submissions assigned to grade, you will see a summary of them on the assignment's landing page.
Expand Down
2 changes: 2 additions & 0 deletions staff/discussion.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ icon: "comments"

Pawtograder's discussion board feature allows students and staff to discuss course content and ask questions. It is **not** intended to be a replacement for office hours, although there is an option to format the post as a question that needs an answer (as opposed to a "note" that does not need an answer).

Posts are formatted as Markdown and support drag-and-drop image uploads. Users can drag image files directly into the editor to upload and embed them in posts.

<Frame>
<img src="/images/staff/surveys/discussion-board-overview.png" alt="Discussion board showing My Feed with posts, Pinned Posts sidebar, and active help request widget" />
</Frame>
Expand Down
4 changes: 2 additions & 2 deletions staff/gradebook.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ total_points = sum(gradebook_columns("hw-*"))

#### `mean(array, weighted=true)`

Calculates weighted (default) or unweighted averages:
Calculates weighted (default) or unweighted averages. The function gracefully handles undefined values and missing grades:

```javascript
// Weighted average (accounts for different max scores)
Expand All @@ -123,7 +123,7 @@ Unweighted average is defined as:
return (100 * validValues.reduce((a, b) => a + (b && b.score ? b.score / b.max_score : 0), 0)) / validValues.length;
```

In either case, grades that are missing will count as 0 points, *unless* the grade is marked as `excused`, in which case it is excluded from the average.
In either case, grades that are missing will count as 0 points, *unless* the grade is marked as `excused`, in which case it is excluded from the average. The calculation tolerates undefined values in the input array, ensuring robust grade calculations even when some data is missing.

#### `drop_lowest(array, count)`

Expand Down
26 changes: 26 additions & 0 deletions staff/office-hours/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@ Students are encouraged to make public requests for help, so that other students

Instructors can create multiple office hours queues to provide different types of help. For example, if a class is coordinated across multiple campuses, there may be in-person help queues per-campus, and a cross-network virtual help queue.

### Queue Configuration

When configuring queues, you can:

- Set **demo queues** for testing and training purposes
- Configure **ordinal-based queue ordering** to control display order
- Add a **course-level Office Hours description** to provide context to students
- Define **weekly queue schedules** that display with live "Happening now" highlights

Students can view the queue schedule through the **Get Help** button, which provides a persistent call-to-action throughout the site.

## Help Request Templates

Instructors can create help request templates, which are pre-filled help requests that students can use to request help. This is useful to help prompt students to ensure that they have completed any expected troubleshooting steps before seeking help.
Expand Down Expand Up @@ -69,6 +80,21 @@ This ensures students never miss updates, even while browsing the discussion boa

A help request can be marked as "Resolved" by either a staff member or a student.

## AI Assistance for Instructors

Pawtograder provides AI assistance tools to help instructors and TAs support students more effectively. An **AI Help** button appears in help request chats and discussion threads, allowing staff to generate context that can be used with AI assistants.

### Model Context Protocol (MCP) Server

The MCP server enables AI assistants to access course data securely:

- **Authentication**: Uses Supabase OAuth (instructors and graders only)
- **Available Tools**: Fetch help requests, discussion threads, submissions, test results, and build output
- **Privacy Protection**: Never exposes sensitive user data
- **Assignment Context**: Add a `handout_url` to assignments to provide assignment context to AI assistants

This feature helps TAs quickly understand student errors and provide more effective assistance, especially for complex programming assignment debugging.

## Feedback and Analytics

After a help request is completed, the student can provide feedback on the help provided. This feedback is visible to instructors only and can be used to:
Expand Down
10 changes: 9 additions & 1 deletion students/assignments/create-submission.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,19 @@ You will see a list of all the submissions you have made for the assignment. The

Every time that you push changes to your repository, Pawtograder will automatically run your autograder. The submission page may show a preview of the grading rubric (if enabled by your instructor), and will show a summary of the autograder results.

<Note>
Pawtograder automatically detects empty submissions. If you submit without adding any meaningful content, you'll be notified so you can ensure your work is properly committed and pushed.
</Note>

<Frame>
<img src="/images/students/assignments/create-submission-1754510547128.png" alt="Submission page showing autograder results and grading rubric preview" />
</Frame>

The "Files" tab shows the files that your instructor configured for the submission.
The "Files" tab shows the files that your instructor configured for the submission. Pawtograder supports viewing various file types:

- **Text and code files**: Displayed with syntax highlighting
- **Markdown files**: Rendered with formatting preview
- **Binary files**: Supported for submission (e.g., images, PDFs, compiled files)

<Frame>
<img src="/images/students/assignments/create-submission-1754510607368.png" alt="Files tab displaying submitted code files" />
Expand Down
4 changes: 3 additions & 1 deletion students/discussion-board.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ icon: "comments"

# Discussion Board

Pawtograder's discussion board feature allows students and staff to discuss course content and ask questions. It is **not** intended to be a replacement for office hours, although there is an option to format the post as a question that needs an answer (as opposed to a "note" that does not need an answer). Posts are formatted as Markdown, and support drag-and-drop attachments and images.
Pawtograder's discussion board feature allows students and staff to discuss course content and ask questions. It is **not** intended to be a replacement for office hours, although there is an option to format the post as a question that needs an answer (as opposed to a "note" that does not need an answer).

Posts are formatted as Markdown, and support drag-and-drop attachments and images. Simply drag an image file directly into the editor to upload and embed it in your post.

## Discussion Board Layout

Expand Down
32 changes: 32 additions & 0 deletions students/office-hours.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,25 @@ Pawtograder's office hours feature allows students to request live help from cou

Students are encouraged to make public requests for help, so that other students can also benefit from the discussion.

## Get Help Button

A persistent **Get Help** button appears throughout the site, providing quick access to:

- **Office Hours Status**: See which queues are currently active
- **Help Drawer**: View queue schedules with live "Happening now" highlights
- **Quick Request**: Submit a help request from anywhere in the course

## Notifications

Pawtograder provides comprehensive notifications to keep you updated on your help requests:

- **Browser Notifications**: Desktop notifications when staff responds or starts helping
- **Title Notifications**: Page title updates when you have new messages
- **Sound Alerts**: Optional audio notifications for important updates
- **Favicon Badge**: Visual indicator when you have active help requests

You can test notifications and manage permissions from the office hours settings.

## Office Hours Queues

Instructors can create multiple office hours queues to provide different types of help. For example, if a class is coordinated across multiple campuses, there may be in-person help queues per-campus, and a cross-network virtual help queue.
Expand Down Expand Up @@ -94,4 +113,17 @@ Your help request will show different statuses:
- **In Progress**: A staff member is actively helping you
- **Resolved**: Your request has been marked as complete

## Resolving Your Help Request

When you're ready to close your help request, you can resolve it from:

- The **floating banner** that appears while you have an active request
- The **main chat view** in your help request

You'll be asked to select a resolution status to help course staff understand the outcome:

- **Resolved - Got help**: Your question was answered
- **Resolved - No longer needed**: You figured it out on your own
- **Resolved - Other**: Any other reason for closing

After receiving help, you can provide feedback on the assistance you received. This feedback is visible only to instructors and helps improve the office hours experience.