Skip to content

groups for courses #4955

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed

groups for courses #4955

wants to merge 3 commits into from

Conversation

williamstein
Copy link
Contributor

@williamstein williamstein commented Oct 22, 2020

This PR is Step 1 of #196 -- is a new tab labeled "Groupings", which lets you create new groupings of the students. There can be two special cases already there:

  • entire course grouping a single grouping that has every student, and
  • individual student grouping another grouping that has singleton groups with one student in each
  • custom grouping additional new groupings, and a selector to choose from them

Groupings can start out providing a generalization of the "shared project", i.e., the current shared project is just what's associated to the "entire course grouping".

However, you could create a new grouping called let say "Teams", and let's imagine that divide your 100 students into 25 groups of 4 at random. Then each group (in that Teams grouping) has one project created for it, and the project for a group gets the 4 students and the instructor and TA's added to it. The project is licensed, and I'm not worrying about student pay yet. Whenever you change the Teams grouping, e.g., by adding new students or moving students around, the collaborators on these projects get updated (and/or projects get created or deleted).

Step 2, which will be in another PR. When you make an assignment you can optionally configure it to use a grouping. The default grouping is the singleton grouping. However, you could equally make an assignment for any other grouping. When you do that everything basically works exactly as before except:

  • the assignment gets sent to and collected from and returned to each of the projects associated to the groups in the grouping.
  • the column that currently says "Student" and has the student's name instead says Group and lists the names of the students in that group.
  • the grade column lets you either enter 1 grade for the entire group, or individual grades for each student in the group (and you can mix this as you grade; one grade for the whole group is identical to the same grade of each student in the group).
  • when you return the assignment the GRADES.md file can give a list of each separate grade if defined.

If you change the members of a group, then it's obvious what should happen (collaborators get added/removed). If you add a new group then it's just like adding a new student, so you have to explicitly assign the assignment.

I think I should not allow changing the grouping for an assignment, but I could. Basically, if you change from one grouping to another, it would just be completely 100% different state info. So if halfway through you completely change the grouping, then all the Assign... buttons would be setup as if you hadn't assigned anything yet. If you change the grouping back, then everything would be like it was right when you changed the grouping. This would properly reflect the actual files that are copied out, but the UI would discourage this (but not make it impossible).

I'm not even worrying about how to specify groupings above, but there are many ways:

  • random, where you specify the number of groups
  • random, where you specify the size of the groups
  • manual (basically drag-n-drop and dropdown menus).
  • via a csv file
  • editing some markdown
  • students choose (after you name the groups) -- could be done by them editing a file in the shared project.

@williamstein williamstein self-assigned this Oct 22, 2020
@williamstein williamstein marked this pull request as draft October 22, 2020 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant