View the Github ticket for proposal status updates.

Overview

This proposal outlines an XBlock-based solution to automate grading of student participation in discussions. The feature will track engagement metrics (e.g., post count, length) within configured discussions and integrate seamlessly with the Open edX platform’s grading infrastructure. The goal is to develop a foundational feature that can be further enhanced to improve its user-friendliness and functionality over time.

Problem

Currently, course teams and students use the Open edX Discussions to share ideas, views, and ask questions. However, there is no automatic or manual process for grades to be assigned to student discussions to track engagement.

Use Cases

Proposed Solution

We are proposing a new Open edX XBlock to automate the grading of student participation in discussions. The MVP version will track engagement metrics within configured discussions and integrate with the Open edX platform’s grading infrastructure.

Below outlines a minimal but viable solution for discussion grading:

Graded Discussions in Studio

Add Discussion Grader XBlock to a Unit

It allows course staff to assign grades to discussions based on predefined criteria. Users can add one or more of these Graded Discussion XBlocks to a unit, and they will be linked to the assignment type (e.g., Homework, Exam) set in the subsection. The grading period for the discussion will automatically match the start and end dates of the subsection as well.

Group 18.png

Configure the Discussion Grader XBlock

When the Discussion Grader XBlock is added to a unit, course staff will be prompted to configure the following settings:

discussion grader.png

Here is a table illustrating the grading setup for the MVP Discussion Grader XBlock:

Grading Component

Description

Example

Description

Clear prompt outlining discussion expectations.

Discuss the impact of climate change.

Posts

Minimum posts for a "pass".

Pass: ≥ 3, Fail: < 3

Responses

Minimum responses for a "pass".

Pass: ≥ 1, Fail: < 1

Timeframe

Active grading period at subsection level.

Start Date: 01/01/2024
End Date: 01/31/2024

Instructors

Each course has an Instructor Dashboard. Instructors can view grade information through this Dashboard, accessed from within the live course. They can either download CSV grade reports or use the interactive "Instructor Dashboard Gradebook." The gradebook allows filtering by assignment type, grade range, track, cohort, etc. Each Discussion Grader XBlock will appear as a column, showing each student's grades, with filtering options to view only Discussion grades if desired.


Learners

Learners will engage with graded discussions integrated into each unit. These discussions will display the following:

Group 19.png

Technical Considerations

To avoid a complete overhaul of the grading infrastructure within the platform, this feature will be implemented through an XBlock which can be added to any unit in a graded subsection of the course. This XBlock can be configured to grade only the discussion associated with the unit it’s added to, or it can extend to other units or topics, including course-wide discussions.

The XBlock's Studio UI will allow instructors to configure the grading rubric, initially focusing on automated criteria such as post length, post count, etc. The student-facing UI will display a message explaining the grading rubric, which can either be auto-generated or manually entered.

The criteria used in the rubric will be pluggable, enabling third parties to create custom criteria, such as AI-based grading or grading based on likes, etc. As students interact with the course, any relevant interaction that is gradable can trigger an event. This event will be handled by the respective plugin, and the final grade will be pushed to the grading system.

Additionally, there will be an option to reassign grades for a subset of users, or for all users, in the event that the grading rubric changes during the course.

Implementation Plan

OpenCraft is currently looking for funding for this proposal.

Long-term Ownership/Maintainership

We anticipate that several teams will need this functionality, and core contributors from OpenCraft will be actively involved in its development. Once it is live, these contributors will continue to assist with maintenance. If needed, one or more point persons can be designated as the primary contact for this code after its release.

Future Considerations

TBD