Skip to main content

Optimal Groups

Problem:

Our client (Dr. Scott Johnson), is looking for a  convenient method of assigning students into groups based on their preferences and non-preferences. The student may choose up to four students as preferred teammates and up to 2 non-preferred teammates. The algorithm written by the client allows him to automatically match students to groups based on their preferences but does not deliver the best results (in terms of Students' preference), and is not optimized on time. He expects an automated process where all he has to do is provide the students a form and a deadline, and receive the group matchings through e-mail.

Solution:

Our project idea is to make a web application that when the student ids and the deadline are sent, it would communicate with a backend and a server to email surveys to all the students. These surveys would be filled out individually by students to fill up their preferences. If a student doesn't fill out the survey within the timeframe, their preferences would all be baselined to a default score.

A new matching algorithm would be written which will be optimized on time (current algorithm is slow), and produce close to optimal results on measurable criteria such as total preference scores, and number of students without preferences. After the deadline for submitting surveys is over, the matching algorithm would be applied to the preference data and return the lists of students to the instructor.

Website Images:

Instructor Login:

  • Single page
  • text input for netid

Instructor Verification:

Admin Page:

Instructor Upload:

  • Single page
  • Course, group size for teams, deadline date and time inputs
  • File drop box area
Instructor Upload Page

Optimal Survey:

  • Single page
  • Radio button based survey
  • Separated columns, preferences and non-preferences
  • Desktop view and Mobile view
Survey Image

 

Survey (mobile)