Cohorts Comparator Research
Additional research in this area pertaining to specific use-cases can be found in Scenarios for Learner Grouping.
Moodle
The feature closest to Open edX Cohorts in Moodle is called Groups. Cohorts in the Moodle usage are at the site level, and gain access to course categories based on cohort assignment, which is a feature not present in Open edX. Cohorts can also be enrolled into courses as a group.
Groups exist within courses, and their stated purpose is to divide learners into groups assigned to different teachers, or to provide different materials to different groups (what we would call content groups).
Groups can be added via CSV files by a site admin in the format user,course,group. If the group doesn’t exist, the group is created. This functionality is not available to course staff, who have to create groups through the UI. Groups have a much stronger identity than Open edX cohorts - our cohorts are typically functionally invisible to learners, whereas in Moodle groups have names and pictures that display in forums, and can optionally allow learners to add themselves to groups.
In addition to dividing forums, activities, and content similarly to Open edX, groups can enable the following functionality which are not available on Open edX:
Chat between group members
Group calendar entries (dates and events specific to each group)
Per-teacher gradebooks (each “teacher” only sees their own learners in the gradebook)
Per-teacher grading (each “teacher” only sees work from their group to grade in staff-graded assignments)
Group assignment submission by a single member of a group
Group-specific announcements
Lastly, groups can auto-create based on enrollment numbers, or by a present number of groups to create. So if 100 learners join a course, you can have it create groups for every 10 learners, or tell it to create 10 groups and have learners automatically distributed between them. All told, Moodle’s groups functionality appears to be far more mature, flexible, and featureful than Open edX Cohorts.
Links:
Canvas
Canvas has a similar perception of groups to Moodle, but with the addition of what they somewhat confusingly call “sections”. Groups are in-course learner groupings that provide a collaboration space similar to Open edX’s teams feature. They allow all three expected modes of enrollment - automatic, self-enrolled, and instructor-enrolled. Canvas also has the option of Group Leaders, who are learners nominally in charge of their group. All unassigned learners can be messaged through the staff interface, which is an interesting feature, allowing them to prompt learners who haven’t self-assigned groups to join a group.
Groups get a homepage, where group activity is tracked. Assignments can be divided between groups as both group assignments and assignments assigned to groups that are graded individually.
Sections, on the other hand, are entirely content-based, with different sections being assigned to different learner groups. Sections can be used across courses, so a course can be made up of sections of another course, with learners being enrolled into specific courses. This is more analogous to content groups, but is worth noting here given one of the only things cohorts are useful for is content group assignment. Section access is handled as enrollment - when a user is enrolled in a course, they are enrolled in the sections that belong to that course (on a section-by-section basis). Sections are invisible to learners, and can be managed via CSV.
All in all, Canvas’s features are pretty different to Open edX’s cohorts, as they are handled in very different ways. Their standard discussions don’t appear to have the root feature of cohorts, which is to invisibly divide discussions up, but they do have the concept of group discussions. Effectively, the features we offer via cohorts are divided out into their own thing, and each of those things is more comprehensive than our implementation. That being said, content groups are more granular than sections, but that’s something for the review of the content groups feature.
Links:
Coursera
Coursera is a bit of a black box, but in this case there is more information available in the depths of the internet. Coursera refers to what we call cohorts as “Sessions” to divide cohorts of learners. They use both interchangeably, but I’ll refer to them purely as sessions for the sake of clarity vs Open edX cohorts. Sessions appear to be purely automated and function as a way to keep courses rolling with what appear to be fresh course runs without actually creating new versions of the course. So a course will by default create a new session every 2 weeks. What is interesting is their logic behind learner assignment and content access:
Learners enrolling before the session start date: full access to Week 1 content (including assignments)
Learners enroll after the session start date (but within 5 days of the session starting): full access to all content
Learners enroll in the next cohort (5 days after session starts): full access to Week 1 content (including assignments)
Learners who fall behind get automatically bumped back to the next session and maintain their current progress
There appears to be no functionality for session management and manual session enrollment by course staff (unless it is simply not mentioned in the one resource I was able to find). Staff can post messages in discussions to different sessions, as well as viewing discussions on a per cohort basis, but that’s pretty much the limit of their engagement with sessions.
Overall, Coursera’s implementation of this seems actually fantastic for the MOOC use-case, but not viable for high-touch, low-scale courses. There are also additional benefits to their session approach over the proliferation of course runs for SEO and course content management that are absolutely worth learning from. Screenshots of this can be found in the presentation below (and is worth looking at).
Links:
Skilljar
Skilljar has the capability to organise learners into groups, but only at a platform level. There does not seem to be any functionality around grouping learners within a course into smaller cohorts. Skilljar does not actually have a native discussion feature, so there is no reason for them to have a feature based around dividing discussions, and they do not appear to support delivering different content in the same course to different learners (they simply use different courses for different learner groups).
Discussions on Skilljar are instead offered through an integration with Disqus, which can be configured to handle learner cohorting by group, but would require the customer to host and develop the Disqus site to get that data via API.
Links:
General Landscape Overview
Generally the trend is that where platforms have features similar to Open edX’s cohorts, the functionality is a lot more focused and featureful. Discussion grouping is handled by a more robust group feature than Open edX’s teams, and where content division is available, it’s accompanied by a broad spectrum of other group-specific content features than is offered by Open edX currently. There is significant room for improvement here in comparison to other platforms.