diff --git a/staff/assignments/autograding.mdx b/staff/assignments/autograding.mdx index dde886a..5615034 100644 --- a/staff/assignments/autograding.mdx +++ b/staff/assignments/autograding.mdx @@ -21,3 +21,29 @@ The autograder system uses an "overlay grader" architecture that allows flexible Build system integration guides for common programming languages. *Detailed documentation coming soon.* + +## Test Insights Dashboard + +The test insights dashboard helps you track student performance and identify common issues across submissions. Access it from the assignment page to view: + +### Error Explorer + +View and analyze test failures across all student submissions: + +- **Error grouping**: Automatically groups similar test failures together +- **Affected students**: See which students are experiencing each error +- **Email export**: Copy affected students' email addresses for bulk communication +- **Global error pins**: Pin important errors to track them across assignments + +### Regrade Workflow + +Launch targeted regrades directly from the error explorer: + +1. **Select errors**: Choose which error groups need regrading +2. **Preselect submissions**: The autograder page automatically preselects affected submissions +3. **Regrade dialog**: Choose between: + - Specific commits from the repository history + - Manual SHA entry for precise version control +4. **Auto-promote**: Optionally promote the regrade results automatically + +This workflow streamlines the process of fixing grading issues and re-evaluating student work without manual submission selection. diff --git a/staff/assignments/grading-assignments.mdx b/staff/assignments/grading-assignments.mdx index d667820..875a974 100644 --- a/staff/assignments/grading-assignments.mdx +++ b/staff/assignments/grading-assignments.mdx @@ -37,3 +37,15 @@ 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 for an assignment. Access it from the assignment page to monitor: + +- **Overall completion**: Track how many submissions have been graded +- **Per-grader progress**: See individual grader workload and completion rates +- **Rubric part breakdown**: Monitor progress on specific rubric components +- **Due date tracking**: Identify overdue grading tasks +- **Bottleneck identification**: Quickly spot where grading is falling behind + +This dashboard helps instructors ensure grading stays on track and identify when intervention or reassignment is needed. diff --git a/staff/assignments/intro.mdx b/staff/assignments/intro.mdx index 6278bec..ee362b1 100644 --- a/staff/assignments/intro.mdx +++ b/staff/assignments/intro.mdx @@ -32,3 +32,33 @@ Instructors can set a class-wide number of late tokens, and configure assignment Each token can be exchanged for a 24-hour extension, but the extension must be requested before the student's original due date. Instructors and graders can also manually grant extensions to students, and can view all extensions granted to a student. This is done in the assignment configuration under "Due Date Exceptions". + +### Extension Date Picker + +When granting manual extensions, instructors can now choose the extended due date directly using a date picker interface, rather than entering extension hours and minutes. This makes it easier to: + +- Set precise extension deadlines +- Avoid calculation errors when determining extension duration +- Quickly grant extensions to specific dates (e.g., "extend until next Monday") + +## Assignment Leaderboard + +Assignments can include an optional leaderboard feature that displays student rankings based on performance metrics: + +- **Configurable visibility**: Choose whether to show or hide the leaderboard +- **Less cluttering option**: Make the leaderboard less prominent in the UI +- **Performance tracking**: Display rankings based on scores or custom metrics +- **Automatic updates**: Leaderboard refreshes as submissions are graded + +The leaderboard feature can encourage friendly competition while remaining optional for courses that prefer not to emphasize rankings. + +## Assignment Security Dashboard + +The security dashboard helps instructors monitor and prevent academic integrity issues: + +- **Anomaly detection**: Identify unusual submission patterns +- **Collaboration analysis**: Detect potential unauthorized collaboration +- **Submission timing**: Track when students submit relative to deadlines +- **Access patterns**: Monitor repository access and commit history + +Access the security dashboard from the assignment page to review potential concerns and investigate suspicious activity. diff --git a/staff/assignments/testing.mdx b/staff/assignments/testing.mdx index a9cdbd2..cb7ceaf 100644 --- a/staff/assignments/testing.mdx +++ b/staff/assignments/testing.mdx @@ -37,3 +37,18 @@ The test submission page will look just like it will when viewing a student's su Test submission grading interface with rubric sidebar + +## Rerunning the Autograder + +When testing or debugging grading issues, you can rerun the autograder on any submission: + +1. **Reuse submission**: The rerun uses the same submission record rather than creating a new one +2. **Select grader version**: Choose which version of the grader to use for the rerun: + - Use the current grader configuration + - Select a specific commit from the grader repository history + - Enter a manual SHA for precise version control + +This feature is particularly useful for: +- Testing grader changes without affecting student submissions +- Debugging grading issues with different grader versions +- Validating fixes before deploying to production diff --git a/staff/discussion.mdx b/staff/discussion.mdx index 8788f24..03ffed0 100644 --- a/staff/discussion.mdx +++ b/staff/discussion.mdx @@ -60,6 +60,27 @@ When a student has an active help request in office hours, a widget appears in t This integration ensures students never miss updates on their help requests, even while browsing the discussion board. +## Karma System + +Pawtograder includes a karma system to encourage student engagement on the discussion board: + +- Students earn karma for creating posts and replies +- Additional karma is awarded when posts receive likes +- Karma scores are visible to students and staff +- Helps identify active and helpful community members + +The karma system gamifies participation and rewards students who contribute meaningfully to course discussions. + +## Image Uploads + +The discussion board supports drag-and-drop image uploads, making it easy for students and staff to: + +- Share screenshots of errors or issues +- Post diagrams and visual explanations +- Include images directly in posts without external hosting + +Simply drag an image file into the post editor to upload it. + ## 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. diff --git a/staff/office-hours/intro.mdx b/staff/office-hours/intro.mdx index 43b2311..79a3887 100644 --- a/staff/office-hours/intro.mdx +++ b/staff/office-hours/intro.mdx @@ -14,6 +14,25 @@ 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 office hours queues, you can: + +- Set a course-level office hours description +- Configure queue ordering using ordinal values +- Create demo queues for testing purposes +- Set up weekly schedules that display to students with live "Happening now" indicators + +### Student Access + +Students can access office hours through: + +1. **Get Help Button**: A persistent CTA that appears throughout the site +2. **Help Drawer**: A right-side drawer showing: + - Office hours status card + - Per-queue cards with current staff availability + - Weekly queue schedule with live status highlights + ## 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. @@ -69,6 +88,25 @@ 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. +## Request Validation + +Pawtograder includes conflict detection and validation for help requests: + +- **Solo request validation**: Prevents students from joining multiple solo office hours queues simultaneously +- **Clearer error messages**: Students receive specific feedback when validation fails +- **Improved UX**: The system provides clear guidance on resolving conflicts + +## Notifications + +Students receive comprehensive notifications for office hours updates: + +- **Browser notifications**: Desktop alerts for status changes and messages +- **Title notifications**: Page title updates showing queue status +- **Sound notifications**: Audio alerts for important events +- **Favicon updates**: Visual indicators in the browser tab + +Students can test notifications and manage permissions from the help drawer. Permission warnings appear if browser notifications are disabled. + ## 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: diff --git a/students/assignments/create-submission.mdx b/students/assignments/create-submission.mdx index 09500b4..1238cee 100644 --- a/students/assignments/create-submission.mdx +++ b/students/assignments/create-submission.mdx @@ -26,3 +26,18 @@ The "Files" tab shows the files that your instructor configured for the submissi These pages also have a link to the specific GitHub commit that was used to create the submission, and a link to download that complete repository as a zip file. + +## Assignment Leaderboard + +Some assignments may include an optional leaderboard that displays student rankings based on performance metrics. The leaderboard: + +- Shows your ranking among classmates +- Displays performance scores or metrics defined by your instructor +- Updates automatically as submissions are graded +- Can be configured by instructors to be visible or hidden + + +Leaderboards are optional and may not be enabled for all assignments. Instructors can choose to make leaderboards less prominent or disable them entirely based on course pedagogy. + + +The leaderboard encourages friendly competition and helps you gauge your performance relative to your peers. diff --git a/students/discussion-board.mdx b/students/discussion-board.mdx index ec37e9b..580945b 100644 --- a/students/discussion-board.mdx +++ b/students/discussion-board.mdx @@ -6,7 +6,12 @@ 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 +- Drag-and-drop image uploads for easy visual sharing +- Code blocks and formatting ## Discussion Board Layout @@ -79,6 +84,17 @@ Each post displays helpful metadata: - **Timestamp**: When it was posted - **Replies**: Number of responses, with "(X new)" indicators for unread replies - **Likes**: Community engagement—click the heart to show appreciation +- **Karma**: Earn karma points for helpful contributions to the discussion board - **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. + +### Earning Karma + +Pawtograder's karma system rewards active and helpful participation: + +- Earn karma for creating posts and replies +- Receive additional karma when others like your contributions +- Build your reputation as a helpful community member + +Your karma score reflects your engagement and the value you bring to course discussions. diff --git a/students/office-hours.mdx b/students/office-hours.mdx index 9e6e241..4079936 100644 --- a/students/office-hours.mdx +++ b/students/office-hours.mdx @@ -10,10 +10,26 @@ 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. +## Accessing Office Hours + +You can access office hours in two ways: + +1. **Get Help Button**: Click the persistent **Get Help** button that appears throughout the site +2. **Help Drawer**: Open the right-side help drawer to view: + - Office hours status card showing which queues are currently active + - Per-queue cards with staff availability + - Weekly queue schedule with live "Happening now" highlights + + +The help drawer shows you at a glance which office hours queues are currently staffed and ready to help you. + + ## 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. +Demo queues may also be available for testing purposes. + ## Viewing Open and Solved Help Requests Particularly when there are many students asking for help at once, it is likely that multiple students have a sufficiently similar question that they could both benefit from the same answer. If someone else already asked a question similar to yours, and you can see that they are about to be helped, you can join that discussion, rather than asking your own question at the end of the queue. @@ -54,6 +70,10 @@ Choose which help queue to submit your request to (e.g., "TA Pool"). Different q If you're working with partners on a group assignment, you can add them to the help request. You are automatically included and cannot be removed. + + +The system validates that you don't have conflicting help requests. For solo office hours requests, you cannot join if you already have an active request in the queue. + @@ -86,6 +106,17 @@ Once you submit a help request: Your active help request follows you around the site! You'll see status updates and video call notifications even while browsing the discussion board or other pages. +## Notifications + +Pawtograder provides comprehensive notifications for office hours: + +- **Browser notifications**: Desktop alerts when staff starts helping you or sends messages +- **Title notifications**: The page title updates to show your queue status +- **Sound notifications**: Audio alerts for important updates (can be tested in settings) +- **Favicon updates**: The browser tab icon changes to indicate activity + +You can test notifications and manage permission settings from the help drawer. If browser notifications aren't working, you'll see a permission warning prompting you to enable them. + ## Help Request Status Your help request will show different statuses: