For a course I teach, I would like to assign projects to students, so that each student chooses a different project among a list of alternatives.

It seems to me that one of the simplest ways to assign them in a fair way is the following: sort the students in a random order, and then ask them in this order to choose a project among the ones that are still available.

I would like to know if there is a web service that handles this process automatically. More specifically, it should do something like the following:

  1. Takes as input a list of 'objects' to choose, and a list of e-mail addresses.
  2. Optionally, randomizes the order of these addresses (but I can do that off-line)
  3. Sends a mail to the first address of the list, asking them to choose one of the available objects.
  4. Once the owner of address #1 has chosen, takes the chosen object off the list, and sends a mail to address #2 in the list, asking them to choose one among the remaining objects.
  5. Repeat until there are no more addresses in the list.
  6. Displays the results of the process for everyone to see.

Is there a website where I can set this process up without too much trouble? Doodle does something similar, but without the constraint that users must choose in a specific order; it uses a first-come-first-served approach.

(Before someone suggests it, I think that this question is more suitable for this site than for [softwarerecs.se], and I would prefer not to ask it there.)

  • Have you tried this approach before? If I would do this with a big group, I'm sure a lot of students would forget to answer which would completely halt the process. – user115896 Nov 25 '19 at 18:55
  • @Heutl No, I haven't tried this, because I don't have a suitable tool, and handling it via direct e-mails sounds like it's even more complicated. I understand the issue, but I don't mind the process taking a few days to complete, anyway. – Federico Poloni Nov 25 '19 at 18:57
  • 3
    What is wrong with first-come, first-served? When I have to do this, I usually set up a first-come, first-served poll on Moodle and let the students know well in advance when the poll will open. It does not have the problem of getting blocked by any unresponsive student, and seems to me as fair/unfair as randomly pre-selecting the order... – wimi Nov 25 '19 at 19:01
  • 1
    How many different projects are available? Would it be possible to just ask that each student/pair send you a list of preferences? Then just go down the list, assigning each student to their highest preferred project that's available. With only 15, I don't see how it could take more than a few minutes. Regardless, when I was a student I always preferred first-come-first-served. That lets students who really care what they work on pick, while students who don't have a strong preference can wait a bit and take what's left. – pip install frisbee Nov 25 '19 at 19:21
  • 1
    FedericoPoloni: I see your point. Maybe you could let each student submit a list of projects, from best to worst, assign each student to (preferably their top choice) one project (in case of ties randomly), the students who don"t care to any project. This seems fairer than "choose within one day". Still, it's a nontrivial task, but my feeling is that there must exist more software for that (eg in my university, students list the courses they want to enroll in from best to worst and get assigned to them by a program). Psychologically, I would say it seems fairer than your method. – user115896 Nov 25 '19 at 20:38

Yes. You can use Google Sheets and Google Forms to achieve all that.

Its easy enough that you can use functions like RAND for randomizing (https://support.google.com/docs/answer/3093507?hl=es and https://www.lifewire.com/rand-function-generate-random-numbers-3123931) without even needing a script.

Also please consider that you should ask in 'https://stackoverflow.com/' for the specifics as this question is sort of out of the scope of this site. I'm not sure if you can send me a message directly or if only by comments, but ask me if you wish help with this.

  • Are you sure? I have some experience with Google forms and sheets, and I would be very surprised to find out that it can do bullets 3, 4, 5 "without even needing a script". I could write a script, but it does not look like a quick one to write (it needs to respond to triggers and send e-mails), and of course "you can do it with a script" is true of basically everything apart from the halting problem. :) – Federico Poloni Nov 26 '19 at 18:59
  • @Federico Poloni Absolutely. 3- Based on your entry condition, you send a link to a prefilled forms that gives you data into another tab/sheet of your Sheet, then that new data triggers a response on a formula. you can achieve with a bunch of nested IFs. but you need multiple tabs. – deags Nov 26 '19 at 20:19

Not the answer you're looking for? Browse other questions tagged or ask your own question.