[Proposal] Graded Discussions (MVP)
View the Github ticket for proposal status updates.
This is a pared down version of this specification.
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.
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
As Course Staff (Instructors) I want to:
Make specific discussions gradable so that I can verify student engagement based on their participation metrics.
Configure discussion grading rubrics.
Re-calculate grades for all, or selected students, if discussion grading criteria changes mid-course.
As Learner I want to:
Understand how my discussion contributions will be assessed, by seeing clear grading criteria (e.g., āPost 3 times to passā) within the LMS.
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.
An XBlock is a modular plugin that adds reusable course elements, such as HTML content, videos, and interactive problems, to Open edX courses. These components help educators create engaging and dynamic learning experiences.
When deciding whether to create a new XBlock, itās important to consider the adoption path within the platform, which includes:
Bundled Extension: This XBlock is pre-installed by default, either turned on or off.
Official Extension: This XBlock is supported long-term but not common enough to be pre-installed. It must manually install it.
Unofficial Extension: This XBlock is similar to āOfficial Extensionsā above, but without long-term support or maintenance in the Open edX GitHub organization.
Choosing the right way to adopt this XBlock in the platform will influence its visibility, usage, and future support. We aim to gather feedback from educators throughout the community to gauge the proposed adoption and ensure the approach aligns with their needs.
Below outlines a minimal but viable solution for graded discussions.
Graded Discussions in Studio
Add Graded Discussion XBlock to a Unit
To enable graded discussions, include the Graded Discussion XBlock within a course unit. Ensure that this unit is placed in a subsection that is explicitly configured with an assignment type (e.g., Homework, Exam). Each subsection can have only one assignment type, and graded discussions will be evaluated according to this configuration.
Configure the Graded Discussion XBlock
Description: Provide a clear description or prompt outlining the discussion topic, so students know the expectations for their posts and responses.
Engagement: Set the minimum number of contributions required for grading. Grades are automatically assigned based on the number and type (e.g., "posts" or "responses") of contributions made during the grading period. Only contributions made within the active grading period count toward the threshold.
Posts: Set the minimum number of posts required for a "passā.
Responses: Set the minimum number of response contributions required for a "pass."
Timeframe: Set a specific start date and end date for the discussion. The grading period will only be active between these dates. Students must meet the engagement threshold within this timeframe to earn a "pass." Students who meet the contribution minimum but do not contribute within the designated timeframe will receive a "fail."
Here is a table illustrating the grading setup for discussions:
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. | Start Date: 01/01/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. The Graded Discussion XBlock will appear as a column, showing each student's grades, with filtering options to view only Graded Discussion XBlock grades if desired.
Learners
Learners will engage with graded discussions integrated into each unit. These discussions will display the following:
Grading Description (Prompt): A clear outline of the discussion topic to set expectations for posts and responses.
Total Points Possible: The maximum score achievable.
Grading Rubric: Detailed criteria explaining how points will be awarded.
Due Date: The deadline for participation.
Learners can:
Add, edit, and delete posts and responses.
View and respond to other students' posts as they are published.
Visibility Settings
Graded discussions are housed within units, which are organized into subsections. Instructors control when learners can access content within these subsections.
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.
Open Questions
TBD
Ā