
Classroom for GitHub - sravfeyn
https://classroom.github.com/
======
jpolitz
I use Github in my courses, and I was excited when I saw this. Three
responses:

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!

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?

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?

~~~
johndbritton
1\. We're working with the OAuth permission model that exists today, but I've
passed along your feedback to our platform team. The generic use case for
Classroom for GitHub is to create a new organization to use for student
assignments and use Classroom for GitHub to manage that organization. If /
when you decide to stop using Classroom for GitHub you can remove your
organization and it will clean up after itself.

2\. GitHub Enterprise is not supported, but others have requested this
feature:
[https://github.com/education/classroom/issues/240](https://github.com/education/classroom/issues/240)

3\. I'm having a hard time understanding your situation, but would appreciate
it if you could file an issue at
[https://github.com/education/classroom/issues/new](https://github.com/education/classroom/issues/new),
can't promise that it will be fixed immediately, but need to gather feedback
like this.

~~~
jpolitz
Thanks for the response! Related to (1), the issue was more that when a
_student_ visits an assignment page, they get the same big permission list as
an instructor; it makes sense that instructors might need a plethora of
permissions. Is that necessary for students?

Issue for (3) reported here:
[https://github.com/education/classroom/issues/250](https://github.com/education/classroom/issues/250)

~~~
johndbritton
Thanks for the report. Your point about (1) is well taken, maybe file an issue
on that too and we can discuss ways to improve.

------
qrohlf
I developed a similar system when I was teaching a web development course [1]
last year. It's open-sourced at
[https://github.com/qrohlf/gradebook](https://github.com/qrohlf/gradebook) for
anyone interested.

[1] [http://webdev.qrohlf.com](http://webdev.qrohlf.com)

~~~
johndbritton
This is great, thanks for sharing.

------
jasonmorton
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).

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).

~~~
CoryG89
I agree, I think students should be learning how to set up version control
very early on in 101 level classes. If for nothing else, it will preserve
their work and ensure nothing is lost. I wish I had all of my work from
University in git. I still have a lot of it, but things were inevitably lost
because I did not use any kind of version control.

Also I like Markdown as a format for taking notes when you want to type them.
Github renders these very nicely and its very convenient. However, I wish they
had support for latex equations (inline or block).

------
johndbritton
Classroom for Github automates repository creation and access control, making
it easy for teachers to distribute starter code and collect assignments from
students.

There's more info on our blog: [https://github.com/blog/2055-teachers-manage-
your-courses-wi...](https://github.com/blog/2055-teachers-manage-your-courses-
with-classroom-for-github)

------
Someone1234
What's the cost of this? And who pays it (e.g. each individual student, the
school/department/grader, etc)?

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.

And, yes, this absolutely does require a private repository if you want to
avoid cheating.

~~~
johndbritton
It's totally free. Teachers can request free private repositories at
[https://education.github.com/discount](https://education.github.com/discount)

~~~
deskamess
This needs some videos to show what it can do. Not many teachers know what
GitHub is and if I wanted to suggest this as a possible option I could not
explain it to them.

Maybe a video showing the creation of an assignment and sending it out (url
via email, is it?), students completing the assignment, and teachers looking
over a completed assignment.

If that is a poor example of what this does then I missed the point entirely.

~~~
nickstinemates
> Not many teachers know what GitHub is

That's rather unfortunate, as more and more of the people putting their degree
to work definitely need to know what it is, especially in start ups.

~~~
kennydude
My university showed us 'RCS'...

------
reptation
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.

~~~
tarebyte
GitHub Education provides free private repositories for educators.

You can check it out here:
[https://education.github.com/discount_requests/new](https://education.github.com/discount_requests/new)

~~~
bachmeier
As I recall, that's only for use in the classroom, to get students hooked. If
you're doing research, or anything other than teaching a class, you pay for
private repos. Feel free to correct me if I'm wrong.

Bitbucket gives you a free unlimited account if you sign up with a .edu email
address.

[Edit: You actually get five free repos. Still limited and not at all the deal
you get with Bitbucket.]

~~~
capnrefsmmat
No, GitHub gives you 5 free private repositories for any educational use if
you sign up with an academic email. I use mine for research.

------
alexeyza
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.

[https://news.ycombinator.com/item?id=10256868](https://news.ycombinator.com/item?id=10256868)

------
kriro
Looks great at first glance I'll incorporate it into my new class eventually.

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.

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.

~~~
johndbritton
As a teacher you can get as many private repositories as you need for your
course for free. Just make a request here:
[https://education.github.com/discount](https://education.github.com/discount)

------
andreasklinger
@GitHub:

I love the idea - would love to try it - but is there a way for me to define
which organizations it has access to ?

I cant give access to my work or client organizations just to tire-kick a new
app

~~~
johndbritton
Yes, you can set up 3rd party access restrictions on your organization
accounts and manage access for each organization independently.

[https://help.github.com/articles/about-third-party-
applicati...](https://help.github.com/articles/about-third-party-application-
restrictions/)

------
davexunit
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.

~~~
kolinko
So students should not use Google, because Google is not open source? How
about Stack Overflow? Or closed-source hardware?

While it's important for students to be able to learn modify and share
software, it's obvious that they cannot rely on open software alone.

------
eegilbert
This looks great, as I would expect.

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.

[1]
[https://en.wikipedia.org/wiki/Family_Educational_Rights_and_...](https://en.wikipedia.org/wiki/Family_Educational_Rights_and_Privacy_Act)

~~~
anonetal
I fully agree -- people underestimate this issue. We recently had a long
discussion among the CS faculty on using GradeScope (a software for grading
paper exams). It looks great and I would love to use it, but the feedback was
that the University would not approve of it for privacy reasons. Even using
Google forms is problematic for that.

------
carlosdp
This is awesome! The only thing missing in using Github properly for a
classroom environment was repo management / isolation.

------
gourneau
This is interesting to me as a way to give software candidates quizzes.
HackerRank similar services are comically expensive.

~~~
johndbritton
Would love to hear more about your use case if it works for you. Definitely
leave some feedback in an issue on the open source repository:
[https://github.com/education/classroom/issues/new](https://github.com/education/classroom/issues/new)

------
9fb29947
They should join forces with Khan Academy.

------
octref
Would private repos created by my teacher count toward my 5 private repo limit
of GH education?

~~~
johndbritton
No, these repositories are created in the teacher's organization account.
Totally separate from your individual repositories.

------
kendallpark
I wish this existed when I was a student.

Immediately forwarded to favorite CS prof.

------
fsqcds
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."

~~~
eurrutia
Classroom for GitHub needs access to your organization. Grant access in
Settings | Applications | Authorized applications | Organization access

------
clw8
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.

------
sternenseemann
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.

