Skip to content
Open
5 changes: 4 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@
"staff/assignments/handgrading",
"staff/assignments/autograding",
"staff/assignments/rubrics",
"staff/assignments/testing"
"staff/assignments/testing",
"staff/assignments/test-insights",
"staff/assignments/grading-status",
"staff/assignments/security-dashboard"
]
},
{
Expand Down
24 changes: 24 additions & 0 deletions staff/assignments/autograding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,27 @@ The autograder system uses an "overlay grader" architecture that allows flexible
Build system integration guides for common programming languages.

*Detailed documentation coming soon.*

## Rerunning the Autograder

When you need to regrade submissions (for example, after fixing a bug in the autograder), you can rerun the autograder on existing submissions:

### Rerun Options

When rerunning the autograder, you can:

- **Reuse the same submission**: The autograder runs again on the existing submission without creating a new one
- **Select grader version**: Choose which version of the grader to use for the rerun
- Use the latest grader commit
- Select a specific commit SHA
- Choose from recent grader versions

### Launching a Rerun

You can launch autograder reruns from multiple places:

1. **From the assignment page**: Select submissions and click "Rerun Autograder"
2. **From test insights**: Launch reruns directly from error groups (see [Test Insights Dashboard](/staff/assignments/test-insights))
3. **From individual submissions**: Rerun the autograder for a single submission

When launching from test insights, affected submissions are automatically preselected, streamlining the regrade workflow.
48 changes: 48 additions & 0 deletions staff/assignments/grading-status.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: "Grading Status Dashboard"
description: "Monitor grading progress and track completion across all assignments"
icon: "clipboard-check"
---

# Grading Status Dashboard

The grading status dashboard provides a comprehensive overview of grading progress across all assignments in your course.

## Accessing the Dashboard

Navigate to the **Grading Status** section from the course navigation menu to view the dashboard.

## Dashboard Overview

The dashboard displays key metrics for each assignment:

- **Assignment name** and due date
- **Total submissions** received
- **Grading progress**: Number and percentage of submissions graded
- **Ungraded submissions**: Count of submissions still awaiting grading
- **Assigned graders**: Staff members assigned to grade the assignment

## Monitoring Progress

Use the dashboard to:

- **Track completion rates**: See at a glance which assignments need attention
- **Identify bottlenecks**: Spot assignments where grading is falling behind
- **Monitor grader workload**: View which staff members are assigned to each assignment
- **Plan grading sessions**: Prioritize assignments based on submission counts and deadlines

## Status Indicators

The dashboard uses visual indicators to show grading status:

- **Complete**: All submissions have been graded
- **In Progress**: Some submissions are graded, others are pending
- **Not Started**: No submissions have been graded yet

## Quick Actions

From the dashboard, you can quickly navigate to:

- Assignment grading interface
- Bulk grading assignment tools
- Individual submission reviews
11 changes: 11 additions & 0 deletions staff/assignments/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,17 @@ A **handout repository** is a repository that contains the starter code for an a

A **grader repository** is a repository that contains the code that will be used to grade the assignment. It is used to provide instructors with the necessary files to grade the assignment.

### Syncing Handout Updates

When you need to push updates from the handout repository to student repositories (for example, to fix a bug in starter code), Pawtograder provides a sync-to-handout feature. The system has been improved for better resilience:

- **Automatic retry logic**: Failed syncs are automatically retried
- **Conflict detection**: The system detects and reports merge conflicts
- **Selective sync**: Choose which students receive the update
- **Status tracking**: Monitor sync progress across all student repositories

This ensures that updates reach all students reliably, even in cases of temporary network issues or repository conflicts.

## Individual and Group Assignments

Assignments can be individual, group-optional, or group-required.
Expand Down
60 changes: 60 additions & 0 deletions staff/assignments/security-dashboard.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: "Assignment Security Dashboard"
description: "Monitor and detect potential academic integrity issues across student submissions"
icon: "shield-check"
---

# Assignment Security Dashboard

The assignment security dashboard helps you identify potential academic integrity concerns by analyzing patterns and anomalies across student submissions.

## Accessing the Dashboard

Navigate to an assignment and click the **Security** tab to view the security dashboard.

## Security Checks

The dashboard performs various security checks to flag potential issues:

### Submission Patterns

- **Unusual submission timing**: Identifies submissions made at suspicious times
- **Rapid successive submissions**: Flags multiple submissions in quick succession
- **Late submission patterns**: Highlights unusual late submission behavior

### Code Analysis

- **Similarity detection**: Identifies submissions with similar code structure
- **Unusual code patterns**: Flags code that deviates significantly from expected patterns
- **External resource usage**: Detects potential use of unauthorized external code

## Reviewing Flagged Submissions

For each flagged submission, you can:

- View the specific security concern
- Compare with other submissions
- Review submission history and timing
- Access the full submission for detailed investigation

## Taking Action

When you identify a potential integrity issue:

1. **Review the evidence**: Examine the flagged submission and related data
2. **Compare submissions**: Use the comparison tools to analyze similarities
3. **Document findings**: Add notes to the submission for your records
4. **Follow your policy**: Take appropriate action according to your course's academic integrity policy

## Privacy and Fairness

The security dashboard is designed to:

- Assist in identifying potential issues, not make accusations
- Provide evidence for manual review by instructors
- Respect student privacy while maintaining academic integrity
- Support fair and consistent enforcement of course policies

<Warning>
Security flags are indicators for investigation, not proof of misconduct. Always conduct a thorough review before taking action.
</Warning>
68 changes: 68 additions & 0 deletions staff/assignments/test-insights.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: "Test Insights Dashboard"
description: "Track student performance and identify common errors across autograder test cases"
icon: "chart-line"
---

# Test Insights Dashboard

The test insights dashboard helps you understand how students are performing on autograder test cases, identify common errors, and take action to help struggling students.

## Accessing Test Insights

Navigate to an assignment and click the **Test Insights** tab to view the dashboard. The dashboard displays performance metrics for all autograder test cases.

## Understanding Error Groups

The dashboard groups students by the specific errors they're encountering in test cases. For each error group, you can see:

- The specific error message or failure
- Number of students affected
- List of affected students
- Test case details

## Viewing Affected Students

For each error group, you can:

- View the list of students experiencing that specific error
- Copy affected students' email addresses for bulk communication
- Click through to individual student submissions

This makes it easy to reach out to groups of students who are stuck on the same issue.

## Launching Regrades

When you identify an issue that requires regrading (such as a bug in the autograder), you can launch a regrade directly from the error explorer:

<Steps>
<Step title="Select Error Group">
Click on the error group you want to regrade from the test insights dashboard.
</Step>

<Step title="Launch Regrade">
Click the **Regrade** button to open the regrade dialog.
</Step>

<Step title="Configure Regrade">
In the regrade dialog, you can:
- Choose to regrade using existing commits or enter a manual SHA
- Select which submissions to regrade (preselected based on the error group)
- Enable auto-promote to automatically update grades if the regrade improves scores
</Step>

<Step title="Execute">
Click **Start Regrade** to begin regrading the selected submissions.
</Step>
</Steps>

The affected submissions will be automatically preselected on the autograder page, streamlining the regrade workflow.

## Use Cases

The test insights dashboard is particularly useful for:

- **Identifying autograder bugs**: Spot patterns in failures that indicate issues with test cases
- **Finding common student mistakes**: See which concepts students are struggling with
- **Targeted intervention**: Reach out to specific groups of students with tailored help
- **Efficient regrading**: Quickly regrade submissions affected by autograder fixes
26 changes: 26 additions & 0 deletions staff/discussion.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,29 @@ This integration ensures students never miss updates on their help requests, eve
## Notifications

By default, users do not get notifications for new posts, but can optionally "watch" a post to receive notifications when the post is updated or receives a new reply. Interacting with a post (e.g. replying to it) will automatically watch the post.

## Image Uploads

Students and staff can upload images to posts and replies using drag-and-drop. Simply drag an image file from your computer into the post editor, and it will be automatically uploaded and embedded. This feature makes it easier for students to share:

- Screenshots of errors or issues
- Diagrams and visual explanations
- Code output or terminal messages

## Karma and Leaderboard

Pawtograder includes a karma system to encourage helpful participation on the discussion board. Students earn karma when:

- Their posts receive likes from other students or staff
- Their answers are marked as helpful
- They actively contribute to discussions

### Configuring the Leaderboard

Instructors can optionally enable a **leaderboard** to display top contributors. The leaderboard can be configured to:

- Show or hide the leaderboard entirely
- Set the number of top contributors to display
- Customize the time period for ranking (e.g., all-time, this semester)

The leaderboard feature is designed to be less cluttering and can be disabled if you prefer a simpler discussion board interface.
70 changes: 69 additions & 1 deletion staff/office-hours/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ Staff can communicate with students through:

After the staff member has started the video chat, students can click the **Join Video Chat** button to join. The video chat window opens in a popup.

#### Chat Reliability

The chat system includes improved error handling to ensure messages aren't lost:

- **Connection status**: The system monitors the connection and alerts users if disconnected
- **Message preservation**: If a message fails to send (e.g., due to connection issues), it remains in the input box so users don't lose their typed content
- **Automatic reconnection**: The chat automatically attempts to reconnect when the connection is restored
- **Robust startup**: Improved chat initialization and refetch flow for more reliable connections

### Active Help Request Widget

When a student has an active help request, it follows them around the site. They'll see:
Expand All @@ -65,9 +74,68 @@ When a student has an active help request, it follows them around the site. They

This ensures students never miss updates, even while browsing the discussion board or other course pages.

## Office Hours Scheduling and Status

Instructors can configure office hours schedules to help students know when help is available. The system displays:

- **Office Hours status card**: Shows whether office hours are currently active
- **Per-queue cards**: Display status and wait times for each queue
- **Weekly queue schedule**: Calendar view with live "Happening now" highlights
- **Demo queues**: Create demonstration queues for testing and training

Students can view the schedule to see when different queues are available and plan when to request help.

## Queue Management

### Queue Ordering

Queues are displayed in ordinal-based order, allowing you to control the sequence in which queues appear to students. This is useful for prioritizing certain types of help or organizing queues by location or topic.

### Course-Level Office Hours Description

Add a course-level description for office hours that appears at the top of the office hours page. Use this to:

- Explain your office hours policies
- Provide guidelines for requesting help
- Link to additional resources

## Enhanced Notifications

The office hours system includes comprehensive notification support to ensure students never miss updates:

### Browser Notifications

Students receive browser notifications when:

- A staff member assigns to help them
- Their queue position changes significantly
- A video chat is started

Students can test notifications and will see permission warnings if browser notifications are blocked.

### Visual Indicators

- **Title notifications**: The page title updates with status changes
- **Sound notifications**: Optional audio alerts for important updates
- **Favicon changes**: The browser tab icon updates to show active status

### Message Notifications

The chat system includes notification hooks that trigger when:

- Staff sends a message
- The help request status changes
- Video chat invitations are sent

## Resolving Requests

A help request can be marked as "Resolved" by either a staff member or a student.
A help request can be marked as "Resolved" by either a staff member or a student. When students resolve their own requests, they can select a resolution status:

- **Resolved**: Question was answered or problem was solved
- **Resolved - No longer needed**: Student figured it out or no longer needs help
- **Resolved - Unanswered**: Closing the request without getting needed help

This feedback helps you understand the effectiveness of office hours and identify areas for improvement.

## Feedback and Analytics

Expand Down
20 changes: 20 additions & 0 deletions students/discussion-board.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,23 @@ Each post displays helpful metadata:
- **Answered badge**: Indicates questions that have been resolved

Replies are threaded, allowing for organized conversations. Use the Markdown editor to format your responses with code blocks, links, images, and more.

## Uploading Images

You can add images to your posts and replies using drag-and-drop:

1. **Drag an image file** from your computer directly into the post editor
2. **Drop the file** anywhere in the text area
3. The image will be automatically uploaded and embedded in your post

This makes it easy to share screenshots, diagrams, error messages, or any visual content that helps explain your question or contribution.

## Earning Karma

Pawtograder includes a karma system to recognize helpful contributions to the discussion board. You earn karma when:

- Other students or staff like your posts
- Your answers are marked as helpful
- You actively participate in discussions

Karma is displayed on your profile and helps identify active, helpful community members. Instructors may also configure a **leaderboard** to showcase top contributors, though this feature is optional and can be disabled.
Loading