View the Github ticket for proposal status updates.
This is a pared down version of this specification.
Overview
This proposal outlines a new feature that enables instructors to automate the grading of student participation by analyzing the number and length of posts and responses. By leveraging discussion content, instructors will have additional grading options to assess student engagement more effectively.
Problem
Currently, course teams and students use the Open edX Discussion Micro Frontend (MFE) to share ideas, views, and ask questions. However, there is no automatic or manual process for grades to be assigned to student discussions.
Use Cases
Course Administrator
As a course administrator, I want to grant permissions to course staff so they can manage discussions designated for grading, ensuring the right topics are monitored for student engagement.
Instructor
As an instructor, I want to designate specific discussions as gradable so that I can automatically verify student engagement based on their participation metrics.
As an instructor, I want to encourage students to engage regularly in discussions, knowing that their participation will contribute to their overall course assessment.
As an instructor, I want to set participation thresholds for graded discussions to ensure that all learners are actively participating during the designated engagement period.
Course Staff Member
As a course staff member, I want an automated grading utility for discussions that allows for quick evaluation of student contributions based on established participation metrics.
Learner
As a learner, I want to understand how my discussion contributions will be assessed, knowing that my engagement will be measured by participation rather than a detailed rubric.
Proposed Solution
Below outlines a minimal but viable solution for graded discussions.
1. Automated Pass or Fail Grading
Track the number of posts and responses a student makes in a designated discussion topic.
Establish a minimum engagement threshold (e.g. X posts or responses) that students must meet to receive a "pass" grade in a designated discussion topic.
The grading scale for MVP will be simple: students will receive a "pass" for contributing at least X times to the discussion, while fewer contributions will result in a "fail." Example scenario where the minimum is 3 contributions:
Contributions | Grade |
---|---|
3 | Pass |
2 | Fail |
1 | Fail |
0 | Fail |
Define a specific timeframe during which students must meet the engagement threshold to qualify for a "pass" grade. If a student meets the contribution requirement but does not post within the designated timeframe, they will receive a "fail."
2. Course Creator Flexibility
Allow course creators to select specific discussion topics that will be graded.
While starting with a simple framework, the system will be designed to accommodate future customizations and enhancements based on feedback.
3. User-Level Topic-Wise Statistics
Leverage the existing course participation statistics to gather user-level data by extending the capabilities to capture discussion topic-wise statistics. We will base this on the future Python + MySQL version of the service rather than the current Ruby + MongoDB setup.
Graded Discussions in Studio
We need to design and build a feature that enables non-technical users to manage graded discussions. Content-specific discussion topics can be accessed from a course unit or the Discussion page.
Once the Admin has installed the Discussions MFE and configured the “Discussion Settings,” we recommend the following process in Studio:
Automatically assign grading to graded discussions based on the subsection grading settings:
Note: Currently, discussions are disabled on units in graded subsections by default. A user can enable discussions on units via the discussion configuration page. For the MVP version, we suggest maintaining this functionality and prompting users to toggle the switch to include graded discussions in units. Changing this behavior would require a separate proposal. |
---|
Once a user has confirmed their Subsection Grading Settings, they can select “Manage discussions” in the Unit’s 3-dot menu:
In a “Manage discussion” modal, or similar, allow users to enable or disable a discussion on a unit:
If Enabled, the user has the option to add the following grading criteria:
Grading Description:
A prompt or description that outlines the discussion topic.
Schedule:
Discussion start date and time
Discussion end date and time
Rubric:
Minimum number of post contributions required for a student to pass.
Minimum number of response contributions required for a student to pass.
Managing Discussions on the Instructor Dashboard
Each course has its own Instructor Dashboard, and we need to ensure there is a suitable space for administrators to assess graded discussions. Discussions will be graded automatically for the MVP.
Instructors should be able to:
View submissions
View assigned grades
Graded Discussions Student View
Graded Discussions will utilize the existing discussion UI in the LMS, with some subtle differences.
Graded discussions, like standard discussions, will be accessible in:
Units
Course-wide discussions
On Course Discussions and Unit Pages, discussions will display:
Grading description (ie. prompt)
Total points possible
Grading rubric (how points will be awarded)
Due date
Students will be able to:
Add / edit / delete their submissions
View / respond other student submissions as they’re posted
Graded Discussions remain “open” but we’ll indicate that the grading period has past.
On Course Discussions Page:
Search/filter on Discussions Page by Graded Discussions (in addition to the current functionality)
On the My Progress Page:
Discussions that are graded should show up as a line item in the “Grade Summary”.
Plan for long-term maintainership
We anticipate that several teams will need this functionality, and core contributors from OpenCraft will be actively involved in its development. We encourage other teams to participate and lend their support! 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.