github-education-resources / classroom

GitHub Classroom automates repository creation and access control, making it easy for teachers to distribute starter code and collect assignments on GitHub.
https://classroom.github.com
1.34k stars 566 forks source link

Student Roster Linking Process is Incredibbly Frustrating #2519

Open jessebett opened 4 years ago

jessebett commented 4 years ago

Linking students from my roster to their github account is incredibly frustrating for students and me as the instructor.

Not only does it expose the entire course roster (which is a privacy issue if I were using emails, though I am using student IDs) it is also very easy to mess-up. Students have to click their names from scrolling through very long list. If they accidentally click another student's ID, then it will immediately link their account. It will not ask for confirmation, and in the next page it will not show what ID they confirmed.

So, now I have students who accidentally claimed other students' IDs. Some realized their mistake and are emailing me. Some did not realize, because how could they, there's no confirmation or way to see what they selected, and those other students whose IDs they claimed are emailing me asking why they can't find their IDs. Using Github Classroom has resulted in me receiving WAY too many emails, and still not very confident I have the correct students associated with their IDs.

Further, I have students whose github IDs are unlinked to any roster student. Which I do not want, and should have the option of disabling.

A much better option would be a forum where students supply their student ID (or email, whatever I upload as roster) and it returns the option for them to click.

As an instructor I should optionally allow or disallow students from accepting the assignment unlinked.

Having students supply their own roster element will prevent them from accidentally clicking another students name (e.g. when they go to scroll) and will mitigate leaking the entire course list.

jessebett commented 4 years ago

Further frustration, the student roster is paginated. Since I am now having to correct many mistaken student links I cannot even do it simply, by ctrl-f for their ID. I have to manually click through many pages to find their student ID to link.

stevecassidy commented 4 years ago

Second this. This frustration almost makes it impossible to use Classroom with large numbers of students. I have 100 right now and trying to link them up is so frustrating.

The interface would be fine if it were responsive. I understand that there are queries flying around to github to get the list but basically it's managing the pairing between two lists of identifiers. These could be cached locally and searched and presented quickly to provide a usable interface.

amueller commented 4 years ago

Also see #2542.

My main suggestion was to change the current setup to a two-step procedure where the students have to click "ok" or somehow confirm their selection. That will make it much less likely for them to make an accidental selection, I think.

d12 commented 4 years ago

@amueller @stevecassidy :wave: Thanks for reaching out and sharing your feedback. We're looking into completely redoing the roster system we agree it's not ideal at all right now. While we work on planning how that'll work, @amueller we've shipped your suggestion to have a confirm prompt when selecting a roster entry. We hope this helps reduce some of the pain you've been dealing with.

amueller commented 4 years ago

Awesome, that's amazing @d12! Many thanks!