My institution is considering using Github Classroom for one of our introductory CS courses but one of the requirements we have is that the students not be able to revoke instructor access to their assignment repositories. We would also like to be able to restrict a student’s ability to make a repo public. Are either of these restrictions possible?
That is absolutely possible, and is actually the default for Classroom.
When you create an assignment or group assignment just make sure NOT to click on check box I have highlighted below.
The default settings will give students write access to the repository so that they can work on it freely, but not grant admin privileges which are needed for open sourcing.
Hope that helps!
Mark is absolutely correct. I did this only yesterday and yes you can choose administration rights for the student or team. Our assignment consists of a one page website written in HTML, CSS and JS (GitHub.io) that links to a repository (GitHub.com) and then to a live website running PHP and MySQL (which is basically the code of the repository in its working form). None of my students have admin rights so only I can create the live project URL (GitHub.io), of which I did then shared this with them via my institutions Google Classroom (which is very good and highly recommended).
As the assignment requires team collaboration I can also see analytics on the student progress. Who’s contributing in the team. When are they contributing. Is it a constant effort or done last minute. I can raise issues of which the team can assign to individual members and tick off when complete. I can also aid the learners beyond the classroom via GitHub when previously they would send an email with the problem and a zip of thier project - so old fashioned and time consuming.
Need anymore help, please get in touch.
One other bit to add–the student’s repo will be associated with your course organization.
You can transfer the owner of the repo to the student at the end of the semester.
Ming Chow at Tufts does this for his students, and it’s one of my favorite practices I’ve seen amongst teachers. He emails them at the end of the semester, with the subject line:
My Gift to You, Take Ownership of Your Private GitHub Repo (DEADLINE, 12/31/2016)
I’ve also tweaked the name of this thread for discoverability–hope that is OK.
Let’s clarify: Even though you can make those restrictions within GitHub, nothing is stopping the students from posting their code publicly elsewhere.
You might be worried about cheating. Don’t worry. Know that students will share code. You can’t stop them from sharing, regardless of the platform. Sharing within a class, across years, etc. If you try to restrict it, you’ll only be biasing the grades towards those who share.
I know this thread is over 2 years old, but I’ve not found the complete steps to pass ownership to students. @mozzadrella, the instructions about what Ming Chow does are incomplete – it’s an image and it’s cutoff after step 2. How do I enable students to take ownership of private repositories? I’d appreciate a complete list of steps. Thanks!