in 2014 there was a discussion here in the forum on the same topic:
Unfortunately the discussion has been closed, so I have to open a new thread. The scenario described in the discussion cited above is this:
- Have your students hand in group solutions for an assignment no. 1.
- For assignment no. 2 students change the group and hand in a solution with their new group
The problem here is: If a student is in Group A and receives a grade for Assignment 1 and
then moves to Group B, the student will suddenly have Group B's grade for
Assignment 1 if Assignment 1 is re-graded.
The proposed solutions were to either a) use a new grouping for each assignment or b) not to -re-grade Assignment 1 anymore once Assignment 2 allows the handing in of solutions.
Imo neither of this is a real solution. Solution a) makes the organisation of assignments especially in large groups (>500 students) very uncomfortable and unnecessarily complicated. The problem here is that it is not enough to create new groupings for each assignment, you also have to create new groups. This puts a lot of workload on the teachers which seems all the more unnecessary as in our scenario not all students change the group but only those whose partners left the course or want to join a different group because they don't get along well with each other. And this happens quite frequently at the beginning of a course. What makes it more complicated is the fact that in our scenario students can choose their group. So creating new groups and having the students choose a new group each and every time extends the process a lot, especially as some students tend to forget things and will not choose a new group which means a lot of additional support for the teachers.
Solution b) also is not really a solution as it is not safe and it is very hard to tell all the teachers using assignments at a university not to re-grade assignments if groups have changed. What is more, with assignments in large courses and on a weekly basis it is not possible to (finally!) grade the whole assignment before the next one starts, even with a dozen of tutors.
So my question here is: Is there any other, clean and preferably technical solution to this?
This is a general problem with the assignment module which either wasn't considered when the module was designed or it was deferred as there do exist workarounds. But as Harald says we can't use these workarounds. In my opinion this is a bug and should be fixed in the core. Would anything speak against that?
The problem is this: For each group submission the groupid is stored. If the submissions are graded, then a student switches from one group to another and then his grade is changed again, Moodle checks which group he's currently in, who else is currently in his group and updates the grade for all of them. Instead we'd need to have separate DB tables like "assign_submission_groups" and "assign_submission_groups_members" where we would store group info and group membership at the time of submission. It could look like this:
In this example you groups of (up to) four. For the first assignment you have 11 students (IDs 1 through 11) in 3 groups. After that assignment the group compositions change: Students 1, 4 and 6 drop out. The remaining two students of group 3 move to groups 1 and 2. Student 10 doesn't like it in group 1 so he asks group 2 if one of them wants to switch places with him. Student 11 agrees and they switch places. Later they hand in their submissions for the second assignment.
The DB table "assign_submission" would then no longer have a column "groupid" which refers to the "groups" table but an "assignsubmissiongroupid" column that refers to the new "assign_submission_groups" table.
I haven't looked at the PHP code yet, so can't say how much would need to be changed there to make it work.
Would something like this be an okay solution? Am I missing something?
Edit: The group info (name etc.) stored in the new table wouldn't be updated if you change the group info after the assignment. This might cause confusion, possibly. But a) I'm not sure most people would even want the group names in old submissions "updated" and b) even so it's still better than unintentionally changing student's grades (and not noticing it!).
I've already explained in the post before Tim's that groupings might be used but you would have to create completely new groups for each assignment. Let's assume a teacher is willing to go this extra step. In our case usually the students choose themselves who they want to work with. So they choose the group. As Moodle core doesn't offer this you have to use a plugin like groupchoice. So in addition to the teacher having to create new groups and do the grouping again (I'm talking about courses with several hundreds of people and a large number of groups accordingly) he has to create a new activity groupchoice. Then the students have to choose a new group although most of them will keep the group members they already worked with. This is osmething our students have already been complaining about in the past so we changed that with our current system which is not Moodle. So, the teacher has to make sure that the group choice activity expires before the next assignment starts. That's already complicated as usually with weekly assignments the deadline of the first assignment ends with the publication of the next assignment. So you have to find space for doing the groupchoice and have to make sure that really all the students have chosen their group before the assigment starts. And I'm still talking about several hundred students here. You have to make sure that the groupchoice has been done before the assignment starts as it is not possible to be in no group or more than one group with group solutions. In both cases a student doensn't hand in a solution for a special group but for a mysterious standard group the teacher has never seen before. In this standard group there are all the students that have more than one group or no group. If a student creates a solution for this standard group he hands in a soluton for other people without even knowing it. If students have not chosen a new group in time (and you know how students are) the teacher has to put in extra time and manual work to put them into groups.
This is the result of my tests. Maybe I oversaw an easier solution but doing all this work will be very complicated for teachers that have far less time to spend on learning to understand Moodle than I do. That's the problem I see here.
About the second thing that you mention: If student X works in group A for assignment 1 he should get the grade for that solution. If he changes to group B for assignment 2, why should he get the grade of that group for assignment 1? He didn't work with that group and their solution at the time of deadline. What if group B gets a weaker grade than group A for assignment 1? Then the student would complain, and rightfully in my view.
What would be your scenario where it would make sense? That's what I tried to find out but couldn't so far.
Best regards and thanks for your answers!
That makes sense. But, I think the problem is that whatever solution is found has to take care of all scenarios. What if assignments overlap and students start jumping back and forth between groups. How is Moodle meant to know where that student's grade comes from for each assignment? Hence groupings...not the easiest way, I know, but I cannot think of a better way to be sure that student gets the correct grade without locking down the flexibility that is available now. You cannot use the assignment due date because some courses do not have due dates. You could say they get the grade for whatever group they were a member of on the day of submission but what if they have already switched? Or what if the group is allowed to resubmit later and the member has moved groups? So many scenarios where your proposal does not work...
I am not disagreeing with you that teachers need an easier way, I just have not figured out how to make it work...I wish you luck in finding something that will!
I just tested again to verify what I said. Indeed you don't have to re-do all the groups in your course but all groups where members change. (In case you let the students choose their groups through a plugin like groupchoice this still means you have to do all the groups again, I guess.)
So, if S1 ist part of Group A for an assignment and wants to join Group B for the next assignment, then the teacher has to create a new Group C with S1 and the members of Group B. And he has to create a new group D for the remaining members of Group A. Because for the new grouping you cannot re-use the old group A (and neither you can re-use Group B). Another Group E that remains stable from the first to the next assignment can remain as is but has to become part of the new grouping of course. The groupings in this scenario are Grouping 1 (Groups A, B, E) for Assignment 1 and Grouping 2 (C, D, E) for Assignment 2.
So, basically it works with groupings but still to me it seems rather complicated and difficult to explain to users.
I use groups a lot (actually for a way different purpose but that besides the point). I tell my teachers that Moodle gives you the option to create groups for assignments - because students are not necessarily in the same group for each assignment, they should create groups with a naming convention something like this: Assign1-GroupA, Assign1-GroupB, Assign2-GroupA, Assign2-GroupB and then place them in Groupings named Assign1, Assign2. Does it make it easier no, but it helps them to understand how it works...that the grouping is specific to the assignment and the group naming makes it easier to understand and quickly find when they are looking at a long list of groups...it also helps it make sense for the students who do not know about groupings but will hopefully now understand why they are in different groups...