/
Group Creation Processes

Group Creation Processes

To be used for anything, groups of learners need to be defined, and learners need to be added to those groups, both manually and automatically.

User Stories

Needs

  • As a course administrator, I need to be able to set up automatically populating groups in order to remove the need for manual learner assignment

  • As a course administrator, I need to be able to manually assign learners to groups

Wants

  • As a course administrator, I want to be able to define specific rules for how learners are automatically assigned into groups, such as:

    • By location (such as state, school district, or country)

    • By email address domain

    • By enrollment date (for rolling course runs)

  • As a course author, I want learners to be able to self-assign themselves to groups where enabled to do so, in order to define custom rationale behind groups that cannot be implemented using automation, such as interest in particular topic areas, favourite colours, or specific learning goals.

  • As a course administrator, I want to be able to browse groups in order to see which learners are in which groups.

  • As a course administrator, I want to be able to search groups to see which groups a learner is in.

  • As a course administrator, I want to be able to assign learners to groups via CSV files.

  • As a course administrator assigning learners to groups, I want to browse a list of all enrolled learners and select the learners to add to each group so that I do not have to download a user report and work with CSV files.

  • As a course administrator in a large diverse platform environment, I want to be able to add and remove learners from groups via API and other standard integration points.

  • As a course administrator, I want learners to be able to be part of multiple groups in order to assign and use groups more flexibly for multiple purposes.

Platform Implementation

Open edX

Open edX has two primary forms of learner grouping tools within courses, each with their own setup process.

The first is Cohorts, which are created by course staff from the instructor dashboard. Once created, learners are assigned to cohorts through one of two ways, manual assignment, or automatic. Automatic assignment randomly assigns learners between cohorts when they access course content or a divided discussion. Manual assignments can be uploaded via a comma-separated list or a CSV.

Cohorts can be used to divide content and discussions, and can also be used to provide different content to different groups of learners. These cohorts appear in downloadable reports, so can also be used to group learners in reports. Learners are typically unaware that cohorts exist, as they are not visible to learners.

Automatic and manual cohorts can be mixed together, but a learner can only be a part of a single cohort at a time. When cohorts are enabled, learners are assigned between all automatic cohorts present on the course. For this reason, Open edX documentation typically recommends enabling a single automatic cohort even when manual cohorts are being used, as this is the only way to identify “stragglers” and ensure that all learners receive a cohort.

The next way Open edX groups learners is by providing Teams. Teams are group discussion areas self-selected by learners within topics defined by staff (also called “team-sets”.

There are three models for teams:

  • Open sets up a team group where learner can create, join, leave, and see all teams within the group

  • Public managed allows only course staff to control team creation and membership. Learners can see other teams but cannot join or leave their team.

  • Private managed allows only course staff to control team creation and membership. Additionally, learners can only see the teams they are members of, unlike other options that give them visibility into other teams. This type is helpful in particular if team assignments are being used in a course.

If set to one of the two “managed” options, learners are assigned to teams via CSV download and upload, rather than being able to control their own group membership.

The number of learners in a team can be limited by staff members, and learners can only belong to one team. If a team is deleted after a learner joins it, then they lose the ability to leave and join teams.

A third, secondary method for learner grouping is in the use of enrollment tracks. Learner tracks are seldom used outside of http://edX.org , but are intended to do things like separate paid and free learners. These enrollment tracks are tied to the learner’s enrollment, and cannot be controlled by staff. They are typically only manipulated by external services, such as identity verification and payment processing, and as such won’t be mentioned a huge amount in this doc, as at least anecdotally, they’re not especially useful.

Moodle

Moodle separates learners into “Groups”, which handle all of Moodle’s in-course learner grouping use cases. Moodle Groups are created under course administration settings, and can be manually or automatically created. When groups are manually created or edited, they can be given a user-facing name and group picture, which learners in the group are able to see in their UI.

When groups are automatically created, they can be given a naming scheme, for example “Group #” will automatically name each Group sequentially (Group 1, Group 2, etc.). Groups are then automatically created based on the desired number of members or intended number of groups. For example, a Group limit could be set to 10 groups, creating groups until 10 are hit, and then distributing any new members among existing Groups, or a limit of 10 members could be set, creating a new Group each time the previous one fills to 10.

When “Prevent Last Small Group” is selected, rather than creating a final small group with stragglers, users will be added to other existing groups. It is unclear how Moodle does this given it would need to know how many learners exist when the Groups are created. Presumably this is because Groups are only assigned in bulk, not when each learner enrols, as Moodle is designed purely for time-bound, instructor-led courses.

Automatically assigned Groups can also be set to prioritise keeping learners in the same Cohorts, which are Moodle’s higher level grouping mechanism for learners outside of courses, as well as from the same grouping (which I’m going to talk about in a moment).

When manually assigning learners to a group, they can be searched, browsed, and chosen within the grouping UI:

A common plugin advertised in Moodle’s documentation is a way to extend these groups with things like auto-assignment based on rules such as user profile information and demographics, suggesting this is not a feature of the core grouping tools.

For self-assigning grouping, Moodle offers the Group Choice Activity, which allows learners to pick which group they would like to join. They are able to view all members of each available group, and each group must be defined by staff before they can be chosen. Staff can also choose which groups to show or hide, allowing them to have certain groups which are self-assigning, and others that are not. 

Somewhat confusingly terminology-wise, Moodle also has the concept of Groupings, which are groups of groups. Groupings are designed for use in activities. In this example, a learner (red) is a member of 2 groups, Discussion Group 1, and Project Group 3:

With these 4 groupings, if there is a group activity, Moodle won’t know which groups are relevant to the activity. So it wouldn’t know how to treat our red learner’s submission. This is where groupings are introduced:

The activity is then assigned to the grouping, rather than to a specific learner group. Learners can still be in multiple groups, but groupings allow those groups to not overlap for specific purposes.

Canvas

Canvas uses three key methods to separate learners:

  • Group sets define a structure which houses groups and define a structure for automatically creating groups.

  • Groups are literal groups of learners for collaborative activities.

  • Sections are administrative groups of learners

An example group set could be “Discussion Group”, which will in turn automatically (or manually) create and group together “Discussion Group 1”, “Discussion Group 2”, and “Discussion Group 3”, which are all groups.

At the group set level, staff gain access to settings that apply to all groups that exist within that group set, such as whether learners can self-enrol in groups, how the groups are created (automatically by numbers of learners, or manually created), and whether to assign a group leader.

Sections can be used to provide different content to different groups of learners and assign different settings such as due dates for different sections of users. Within this, group sets can limit groups to being formed between other learners in their section. Sections are typically used in a classroom setting, where a teacher giving the same class or course to several groups of learners has a single course divided into sections, each of which contains that class of learners. Classes don’t intermingle, but within that class, learners may have study or lab partners, which would be groups.

Related content