Hi, I’m trying to setup my first assignment after watching the video on ‘Setting up Individual Assignments’, but still have a few questions.

Within GitHub Classroom, I have created my classroom (@CSC-285). I then selected the “New Assignment” button, and then the “Create an Individual assignment” button.

I made the assignment private, did Not check the box to “Give students Admin permissions on their repository”, and I added some starter code. I then copied the assignment invitation link created and sent to 2 of my students in my organization for testing.

The problem is that both students can see each other’s new private repos. I thought that by setting up Individual Assignments using the technique in your video, they wouldn’t be able to see each other’s work?

After looking further, I checked my Organization’s Member Privileges under Default Repository Permission and saw that it was set to Read. So I changed this to None which removed their access to seeing their fellow students private repo’s, but, as a result, they also couldn’t see the new assignment repo I just invited them too. So I realized I needed to create individual teams for each student, add each student to their own team, and also add the team to the student’s assignment repo. Then, each student was only able to see their own assignment repos and any public repos in the Organization.

Were all these extra steps I took really necessary, or am I missing something?

I don’t know if it matters, but I have noticed that I did not have to add any students to the organization, just send the invites. I confirmed this by looking at the organization members and noting that no one had been added (at least that I could see). I wonder if originally all the students had to be added to the organization. Perhaps that is no longer the case. I think the blub of “You may receive an email saying you were added to the organization” may actually be a left over from a time when that was done. It appears by all accounts now that accepting the invitation does not add the person accepting to the organization, it only gives them and the organization to the private repo. I have confirmed this is working on two separate accounts. One gets “404 not found” while the other sees the private repo.

Thanks for your reply! So just to confirm, you didn’t have to first invite your students to the organization and then setup singleton teams for each student within the organization? That was where I went wrong, I had previously added my students to the organization, that was why they could see each other’s repos. I was reading some older documentation which suggested this, but this method seems to work also, it’s just a little more work to setup. Thanks again for helping me to understand!

Yep. All I did was create a starter repo, create the assignment, and post the invitation link in the private slack chat (pinned) for the course. Students just clicked on the link in the chat and added themselves. I then confirmed none of them can see each others stuff and that no one publicly could see anything (except, of course for the gh-pages branch for the web courses, in which case each private repo contains the source code of a web site they create during the course).