cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tbunag
Community Champion

Is there a way to automatically assign intra-group peer reviews?

Jump to solution

Here's the situation:

  • Faculty member has a large class (>200 students)
  • Students are split into groups of 3-4 students within Canvas, using the automatic assignment to teams option
  • Each student in the group will need to provide a peer review on the other students in the group regarding their role in the group projects
    • These reviews should be anonymous to the students, but not anonymous to the faculty member
    • The reviews would include a scoring rubric and written comments
    • Ideally, the faculty member would be able to easily see the scores from the reviews to help determine the grade
    • Ideally, set up should be smooth enough that it can be done twice

How could this best be done in Canvas?  We are open to free 3rd party tools.  At this point, I'm mainly hoping for an answer that's better than it can't be done.

18 Replies
James
Community Champion

I worked a little on it last night, thinking about adding a button to the page to assign peer reviews, right under the "Assign Peer Reviews" button. Perhaps "Intra-Group Reviews" or "Assign Intra-Group Reviews" with a smaller font.

I checked in a course with 268 students and all of the information for every student and every already-assigned peer review was loaded on that page, making it easy to grab all of the existing information in one shot without any API calls. That's when I finally went to bed. Now I need to work on the part that downloads the lists of groups and the members of each group. Those are API calls, but I've done that before, just need to rewrite it JavaScript.

It turns out there's a small, not insurmountable, issue in my case. The assignment I'm using for peer reviews is not a group assignment. I created a separate assignment for the feedback so that I can use a separate rubric. That means that there is no way to know which group set to use (unless there's only one) and that I need to add a way of selecting the group set to use when assigning peer reviews. Right now, I'm thinking the easiest way will be a dropdown select box before the button to assign the intra-group peer reviews. The button isn't active unless a group set is chosen and if it is a group assignment, then it defaults to the one being used.

When Canvas assigns peer reviews automatically, it does so in the background. This is one of those things where people would need to remain on the page while all of the assignments are made. I don't have any timings yet since I haven't gotten that far, but the way I'm planning it out, someone could come back and run it again and it would pick up where they left off.

James
Community Champion

It's not ready for release yet, but I just used the userscript I've been writing to automatically assign intragroup peer reviews to my class.


Here's what the interface looks like so far, but I haven't tried to do much styling yet. It gets added beneath the Automatically Assignment of Peer Reviews block.

272516_pastedImage_1.png

I haven't attempted to handle pagination from the API, so right now it will fail if you have more than 100 group sets or more than 100 groups within a group set. Ok, it's 10, but I could easily make it 100 just by adding a per_page=100 query parameter, so it would take about 15 seconds to make it work with up to 100 groups and groupsets.

I ended up not going through the API to create the courses. That meant that I would have had to look up the submission IDs for every student and in a large class that could take a while. By calling the non-API call, I'm able to do it just off the user IDs.

It says it will reload the page, but I'm not sure if I want it to do that or not. I thought about adding a progress bar, but with my 30 students in groups of 3-5 students each, it took less than a second to run.

If for some reason it gets interrupted, you can just reload the page and run it again. It only tries to assign peer reviews that don't already exist and it doesn't try to remove any. In other words, if you manually add some, it won't get rid of them. On the other hand, if you have people change groups, it won't remove the peer reviews for the old groups.

I also need to do some additional testing. I wrote it to use the fetch() api rather than jQuery, so it's not dependent upon jQuery being loaded and has a chance of working in Firefox with Greasemonkey (completely untested, so no promises). I also need to test it with a group assignment and in a course with more than one groupset.

I needed this for tomorrow's class, so now I need to work on the rest of the things I put off this week to work on this. I just wanted to update people on the status.

qzh0004
Community Participant

Hi James,

 

That sounds great! I look forward to its release! It took me an hour or more to assign intra-group review of my 92 students of 4-5 in each group.

Best,

 

Peter

James
Community Champion

Peter, When is the next time you need to do this?

qzh0004
Community Participant

Hi James,

No rush. I'm done for this semester and I'll be teaching a smaller graduate class next semester so I guess I'll need it next spring. Smiley Happy

Thank you for the effort and I'm sure many instructors will welcome this feature.

Best,

Peter

James
Community Champion

I have a working script with Tampermonkey in Chrome on Windows. This is the first script I've written using some of the newer functions of JavaScript (promises, fetch, arrow functions, and let/const instead of var), so I need to give it some more testing but I went ahead and made the video for it, so it's close to being ready. I need to test it with Safari and Firefox and then write up the documentation. I'll make that its own document so that people can find it and then link to it from here once I've done that.

In the mean time, here's a video of what is coming. This was done in the test instance of Canvas with a course of 123 students, assigned into a group set with 32 groups and most groups having 4 students, but some having only 3. That's 355 assigned peer reviews in 30 seconds. It paused right at the end between 99% and 100% -- meaning I probably don't have the Promises completely figured out yet

Not shown in the video is another group set in the same class with 12 groups of about 10 people in each. There were 1141 peer reviews assigned and it took about 58 seconds to complete.


It can be interrupted, but it only processes while on the page. If you move off or reload the page before it's done, you can come back and restart it and it picks up where it left off.

James
Community Champion

I've finished writing and documenting the script I was talking about. It assigns peer reviews to everyone in the same group as each user with the click of a button.

https://community.canvaslms.com/docs/DOC-14465-assigning-intra-group-peer-reviews 

qzh0004
Community Participant

That's great! Excellent job, James!

weaver_852
Community Participant

Does anyone have any update on intra-group reviews? We are building a discussion board with 20+ groups for an assignment and 800+ students and it would be VERY helpful to not have to manually sort these groups...