Assigning roles to students in groups

Here is an experience I’d love for my students to have.

They walk into class and are assigned a group number. They open up a Desmos Activity and input their group number (via an input or choice component). Then they click an action button and up on their screen pops a role they are assigned to play in that group for that day (e.g. “scribe” or “speaker”).

A few stipulations:

  1. I wouldn’t want members of the same group to have the same role.
  2. I’d want to prioritize the assignment of certain roles over others if the group size is too small. For example, if group 2 only has three people present, then I’d want to prescribe to Desmos exactly which three roles to give to the members of this group.

I’ve thought a lot about how to do this, certainly using aggregate, but it feels like this may be out of reach for CL. If so, consider this a feature request, but here is the progress I’ve made so far.

I could aggregate the group numbers that students input, and then use this list to determine the sizes of the groups. A lengthy “when” statement could then probably handle stipulation 2 above. What I can’t figure out is how to satisfy stipulation 1, that roles are not doubled within a group. Somehow CL would have to keep track of which roles have been assigned and assign new roles for different group members (presumably as they join a few minutes later).

One feature that would make this easier would be to somehow determine an ordering of the students who are in the activity, one that wouldn’t change as students join. In other words, when each student joins the activity, Desmos would assign to that student a number indicating how many students joined before them (i.e. the first student to join would be student 0, the second student to join would be student 1, etc.), a number that CL could call. With this information I might be able to aggregate a list that contains the information of what group each student is in. This list would be enough to do what I want (I think…).

1 Like

You’re correct that this is not currently possible with CL. We’ve talked about building something like this, but there are some tricky questions (like what if the teacher wants to adjust groups for some reason, what if computers aren’t 1:1 with students, knowing in advance how many students there will be so that you don’t start a 1-person group you can’t finish, etc.). A detailed description of what you’re looking or like this is definitely helpful as we think through designs.

1 Like

Thanks for this response, and I understand the challenges you are referencing. In general though, being able to reference Desmos-assigned, activity-specific “student IDs” (or at least “computer IDs” if computers aren’t 1:1 with students) seems like it could be a great feature, independent of building groups and/or assigning roles.

Thanks again!

I figured out how to do this using aggregate and history. Here is a working prototype.

To see its functionality, you need to create a classroom code and then open up that classroom in a bunch of different tabs simulating different students.

The one bug is that if students in the same group click the action button to find their role within a few seconds of each other, the aggregated list hasn’t updated yet, so those students will receive the same role. Not sure how I can get around this, but I’m open to suggestions.