GatorIncubator / gatorgrouper

:busts_in_silhouette: Automated Group Formation Tool Enabling Effective Team Work
GNU General Public License v3.0
20 stars 20 forks source link

Allow User to Specify Conflict Relations when Creating Teams #290

Open shafferz opened 5 years ago

shafferz commented 5 years ago

Description of the Issue

Currently, conflict avoidance is supported with the group_random grouping algorithm. What is not currently supported is the actual input on the website of GatorGrouper to use this function of the random grouping algorithm. What is needed is a simple way for the user to enter two names and a number (integer) that represents the severity of the conflict. I suggest using a 1-5 scale (perhaps radio buttons indicating a range of Smallest/Small/Normal/Large/Largest Severity), but the number can be any positive integer allowing for ranging 0-100, 1-99, etc,. There also should be a way to input multiple conflicts, forming a list of 3-tuples for use in the algorithm. Read below for more details about how the conflict-avoidance algorithm works.

More Information

Functionality for conflict-avoidance was completed as of PR #277. The way this works is documented in the code, but pretty much requires a list of 3-tuples ((var1, var2, var3)) with the two names of the students between whom there are grouping conflicts and a conflict score to denote the severity of the conflict. E.g., if the instructor does not want two students Jimmy and Jason in a group together because they are disruptive or do not get along, they should be able to input the names of the students and a number to represent the severity (let's say 3). These names should be sent to the algorithm in the form of a list of 3-tuples [("Jimmy", "Jason", 3)]. The list of 3-tuples is an optional argument that can be passed to the function. Read the code for more details if further clarification is needed.

Assigned Developers

Developers may feel free to assign themselves to this issue, and edit this post with their name here.