Filter Gradebook by Groups

This idea has been developed and deployed to Canvas

This is reviving quite a few suggestions, including Grades - Filter or Sort Students by GroupsAdd "Groups" filtering feature to Assignments/Grading, and Gradebook Smart View by Group.

 

We need a way to filter the gradebook using student groups. Right now, the gradebook can only be filtered by sections within a course. There are quite a few use cases for requesting this functionality:

 

1. We have several large classes where the TAs are responsible for grading a subsection of a section within a course. This becomes tedious, because the filtering options for the gradebook limit this by section only. So if they have a section of 40 students but are only responsible for grading 20 of those, they need to create a section to filter the gradebook. This becomes troublesome when there are 400+ students in the course since creating sections requires the manual work of clicking on each student to change their associated sections. Even with section-anonymity turned on, this is still 60+ clicks for one subsection of 20 students.

 

2. We have several programs that use outside folks as facilitators who grade/interact with students. We set-up student groups for these folks so they can communicate with just their group of students. It would be nice to filter the gradebook of these groups instead of writing the facilitator's name in the Notes column or manually creating sections for the groups.

 

3. Some of our courses have several different groups in them for various purposes (different projects, in-class groups, etc). In general, it would be nice if instructors could filter off these groups to compare student performance and involvement.

 

As a final note, the drag-and-drop functionality of Groups is much easier to use than the manual process of creating sections. While manageable for small numbers, it's simply too much to handle for large courses.

This idea has been added to our product plan for Q2 2019 and will influence development within Canvas. Follow this idea to receive updates as they are available.

 :smileyinfo: Adding this idea to our product plan means we will be working on it, but it does not guarantee that it will be developed exactly as defined by the idea, or that it will be added to the production environment.

 

Read more about the feature idea process:

Comments from Instructure

For more information, please read through the Canvas Release Notes (2019-06-22)‌ & https://community.canvaslms.com/docs/DOC-17625 

73 Comments
rake_9
Community Champion

We use sections to align with SIS enrollment sections.  Given the size of our institution and various SIS integration complications, we cannot allow instructors to set up sections manually.  It would be SOOO useful if they could use groups (or something) for grouping students in the Gradebook / Speedgrader / People list. 

Personally, whether this aligns with the existing Groups functionality (which is more about collaboration) or is a separate thing is fine with me (though that leaves open the possibility of the word "group" appearing in yet another context...)

ruvi
Community Explorer

 @kmeeusen  I was informed by our CSM that the changes have been made to the Canvas feature idea process and this forum is still the means by which we propose and up-vote ideas.  
I'd like to add our "me too" vote to this (and have above) because we are in the process of moving over from Blackboard and this functionality was heavily used to manage large gradebooks (high enrollment classes with many grade columns).

maguire
Community Champion

Similar to  @alh245  I add group numbers to a custom column and regular sort based on this information, but create sections when I want to be able to have a given person see a set of students via the gradebook.

I would think that the obvious easy solution is to take the group information and automatically create corresponding sections and put the students in the group into the section. This can be easily done for a course using the Canvas API:

GET /api/v1/courses/:course_id/groups

followed by

GET /api/v1/groups/:group_id/users

to get the members of the group

Next create the sections (see note below about possibly using a fixed prefix for the names of the sections) and then add users to the sections with:

POST /api/v1/courses/:course_id/sections

POST /api/v1/sections/:section_id/enrollments

The only downside I see to the above is that when viewing the list of sections in the gradebook the sections are listed in order by section_id and not alphabetically. If they were listed alphabetically I could prefix all the section names for groups with "Group_" and now they would be easy to separate out from the other sections (for example, in courses with multiple instructors/assistants I create a section for each of these persons and they add their students to the section).

As a given person can be in up to 18 sections, there should not be a problem with this approach. However, I am not sure if this limit is per course or an overall limit.

Note that a nice feature of the above is that one can take advantage of the section specific announcements and other features that already exist for sections.

de_millington
Community Contributor

Seems to me this is already in Beta . See Gradebook and Learning Mastery: Bespoke Smart views .

There is also a screencast showing how this is performed.

de_millington
Community Contributor

Hi Robin,

There is now the possibility for this - go to this idea, has been in Beta for around 6 months.

awarmar
Community Participant

I may be missing something (and I sure hope I am!), but from watching the linked screencast and doing a little investigating, sadly what is in Beta is not what this idea is about. Smiley Sad This idea is requesting the gradebook be sortable by student groups (much the same way you can sort by section currently in production), not assignment groups. This is one of the age old issues with the term "group" in Canvas as it is used in various spots to mean very different things. What people on this thread want to do is only show one student group (say, TA #1, Grader #1, Project #2, etc.) at a time but still see all the the assignment groups as students in all people groups will be submitting assignments to all the assignment groups.  If I'm the one confused, please correct me! It would make my (and more importantly my faculty who teach large lecture sections with 5+ graders) day! 

de_millington
Community Contributor

Katie,

I do agree that the drag and drop feature within groups is nice.  Adding users to sections is, however, very easy if you do it en-bulk through the UI. Have your 400 student username (IDs) that you want to add to a particular section in a column within a doc (preferably spreadsheet). Copy paste that column of IDs into the UI, align to the section and add users. Move to the next column and repeat the process for a different section. This process will up date your students within seconds.

I admit that removing students from sections can be time consuming. That's where the drag and drop feature of groups will beat sections, but if you have 100s of users even that will be time consuming. That said, adding users en-bulk to sections is much quicker than adding them to groups. 

maguire
Community Champion

 @de_millington  - A screencast of this would be greatly appreciated.

maguire
Community Champion

As  @de_millington   has not explicitly pointed out, the operation occurs via the People page, as by selecting +People you can add a list of people. However, the surprise of this UI is that one can add existing students to the course while specifying a particular section. The underlying magic behind this is that the way students are added to a section is via the Enrollment API. If a student is already in the course, this process simply adds the student to the specified section!

For those who think in python code the programmatic way of doing this (based on a user's SIS ID) is illustrated below:

# POST /api/v1/courses/:course_id/enrollments

url = baseUrl + '%s/enrollments' % (course_id)
payload={'enrollment[user_id]': 'sis_user_id:'+sisid,
                'enrollment[type]': role, # one of StudentEnrollment, TeacherEnrollment, TaEnrollment, ObserverEnrollment, DesignerEnrollment
                'enrollment[enrollment_state]': 'active',             # make the person automatically active in the course
                'enrollment[course_section_id]': section_id
}

r = requests.post(url, headers = header, data=payload)

kas200
Community Participant

After looking into it, it looks like Amanda's correct-- the filtering feature in the New Gradebook is for Assignment Groups, not Student Groups. Smiley Sad