Closed keithagroves closed 5 years ago
Interesting idea. I've marked it as a feature-request to be done when we have time!
@Buskcoin while that does help a certain use case I'm not 100% sure that's right for GitHub Classroom. Here's why.
First, we don't know who the students are yet. So we'd have to take a list of names (and GitHub accounts) for the students and let you set up the assignments. If there is data that is incorrect it would be really cumbersome to change.
We also can't add a student to an organization and accept the invitation on their behalf without their user token. We already do this when a student signs in to Classroom to accept the assignment.
This means that all of your students will have to accept the invitation email for the repo that you create for them. In my experience teachers have a lot of trouble getting students to do this and they have to chase them down.
Not saying this is impossible, it's just a lot of overhead.
Would love you hear your thoughts.
Tweaking the title of the issue to include in product planning.
Since classrooms are linked to organizations, would it be possible to automatically accept assignments for everyone who is a member of the organization (under the assumption that members = students)?
The ideal situation would be a unification of the idea of organizations and classroom. It seems odd to me that you have to go to classroom.github.com to create assignments, which isn't integrated with the organization dashboard (at least to my knowledge). It would be great to have "Classroom organizations" where instead of roles such as owner and member you would have teacher, TA, and student roles. When assignments are made, the repos would automatically be created for all students. Would be interested to hear other people's thoughts on this, and what current classroom developers have in mind for the future of GitHub classroom
Hey @jfiksel, thanks for the feedback!
Blindly giving the assignment to every member of the org wouldn't always work because some classes have TAs or other observers who aren't actually working on assignments.
There are some technical challenges to accepting assignments on behalf of all students of a classroom unfortunately. Currently in Classroom, we actually don't have a concept of "students in a class", it's just whoever accepts the invitation.
We're actually doing a bit of work right now on implementing #448 which may solve this problem. We're leaning in the direction of setting up a list of students before the course even starts, and creating pseudo-users for them in the database. Once they log in for the first time, we can save their token, and then once the class starts, we'll be able to send assignments to students automatically.
Any thoughts on that?
Any step that allows for automatic assignment acceptance would be nice, this seems like a convenient way to do it, as long as acquiring student ids is not difficult for teachers.
I still think the problem remains (although somewhat separate from this issue) that the classroom interface is separate from the organization interface--it would be great if the create new assignment link and the add student identifier link, in addition to whatever future tools are added, were available when viewing the organization. I would think with this way you might be able to add identifiers such as "students" and "TAs", although I'm obviously not too familiar with the technical challenges of this issue.
Unfortunately that's not possible at the moment. GitHub.com and Classroom are separate codebases and separate apps, so we won't be able to make any changes to the Organization UI.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I work at a school where the teachers would use github classroom if it would allow us to accept the assignment on the students' behalf.
This way the students can log onto the github client and see the next assignment ready to clone.