I use Github in my courses, and I was excited when I saw this. Three responses:<p>1. The permissions screen immediately irked some of my collaborators – why does this need access to _everything_, including deleting repositories that already exist? They pointed out that if one privacy/security-conscious student makes a stir about this in an undergrad course, it's all of a sudden a potentially huge issue. And I teach my students to be suspicious of screens that ask for too many permissions, with good reason!<p>2. Can I connect this to my institution's internal Github enterprise? I currently manage assignment distribution and collection with hand-rolled Github scripts that run against our institution's deployment. Do the teachers_pet scripts work in that environment as well, or is there Classroom-specific setup required to make that work?<p>3. On the screen where I choose organizations, there was a text box for a new organization, and a dropdown. I thought I was making the choice to create a new organization, but it seems to be creating all the repos in an existing organization selected in the dropdown. This has caused a lot of folks to all of a sudden get signed up for automatic notifications who are members of the selected org. That's annoying, now I have to clean up after Classroom and figure out what went wrong. I doubt that adding random student repos to an existing organization is ever what a new user wants, and I tried to follow the flow that (I thought) would not accidentally do that. It seems like a Classroom organization is a different thing from a Github organization?
I developed a similar system when I was teaching a web development course [1] last year. It's open-sourced at <a href="https://github.com/qrohlf/gradebook" rel="nofollow">https://github.com/qrohlf/gradebook</a> for anyone interested.<p>[1] <a href="http://webdev.qrohlf.com" rel="nofollow">http://webdev.qrohlf.com</a>
I think this is absolutely the way forward for technical courses (where the prof and maybe students already know how to use git, or can be expected to learn).<p>A course is kind of like a web app with a lot of common functionality. Too bad most LMSs seem to think we want to write our course in a little text box with no version control (even newer ones like Canvas make this assumption).
Classroom for Github automates repository creation and access control, making it easy for teachers to distribute starter code and collect assignments from students.<p>There's more info on our blog: <a href="https://github.com/blog/2055-teachers-manage-your-courses-with-classroom-for-github" rel="nofollow">https://github.com/blog/2055-teachers-manage-your-courses-wi...</a>
What's the cost of this? And who pays it (e.g. each individual student, the school/department/grader, etc)?<p>I like GitHub a lot, but I will say they can be rather pricey. $7/month for their smallest private plan, you can literally run your own VM in the cloud (e.g. on AWS/Azure) for that amount (and run Gitlab), get a terabyte of cloud storage (which you can store hundreds of Git repositories in), or go to one of their competitors.<p>And, yes, this absolutely does require a private repository if you want to avoid cheating.
As a teacher of non-CS courses, it's nearly drool-worthy as an alternative to Blackboard but the private Repo's are not free and this is a deal breaker.
I posted a blog post yesterday on Why on How educators use GitHub, and thought it might be interesting to some of the people here as well.<p><a href="https://news.ycombinator.com/item?id=10256868" rel="nofollow">https://news.ycombinator.com/item?id=10256868</a>
Looks great at first glance I'll incorporate it into my new class eventually.<p>I read through the education stuff and if I'm reading correctly one can get a free private repo for coursework? My class has two groups of 30 and they'll eventually have to complete a longer project in subgroups of 3-5. Any recommendations for that setup? I'm assuming there's no free plan for this as it would essentially require ~20 private repos. Those could get wiped every semester though.<p>I've def. scribbled down that I want to teach git(hub) ASAP because learning to use it from the getgo in the first semester is huge.
@GitHub:<p>I love the idea - would love to try it - but is there a way for me to define which organizations it has access to ?<p>I cant give access to my work or client organizations just to tire-kick a new app
GitHub's student SaSS package is the antithesis of educational. Students cannot learn, modify, and share any of this software. I see nothing but praise for GitHub in almost everything they do, but from my perspective they are doing great harm and have now directed their attention at the future generation of hackers. CS students need hackable software, free software, to learn from and build things with.
This looks great, as I would expect.<p>However, a major hurdle at US universities is FERPA [1]. FERPA (but really the fear of litigation under FERPA) is one reason why universities host their own software.<p>[1] <a href="https://en.wikipedia.org/wiki/Family_Educational_Rights_and_Privacy_Act" rel="nofollow">https://en.wikipedia.org/wiki/Family_Educational_Rights_and_...</a>
How to actually try it? I've created free organization under my GitHub profile, but Classroom still says me "You’re not managing any organizations yet."
Will this be available for Edx and Coursera too? So few CS MOOCs encourage version control and they certainly don't allow using a free public repo.
One thing thing I dislike about GitHub's student/teaching services is that they are all in a centralized manner and seem like half-commercial.