
How CS50 at Harvard uses GitHub to teach computer science - zdw
https://github.com/blog/2322-how-cs50-at-harvard-uses-github-to-teach-computer-science
======
userbinator
Git is distributed but GitHub is not. Teaching Git would not be a bad idea,
but quite frankly, I find the reliance on third-party services for courses
(with apparently no provision to opt-out?) a bit of a disturbing trend. It
doesn't matter if it's GitHub, SourceForge, CodePlex, Bitbucker, Google Code,
or whatever else. Universities can and should host their own repositories, to
remain impartial and responsible.

 _One goal was to have students graduate, so to speak, from the class actually
having a GitHub account._

IMHO this is not entirely dissimilar to e.g. requiring Facebook for
distributing course material, to which there are plenty of opponents. You
should not need a Facebook account to learn. You should not need a GitHub
account to practice computer science.

(Full disclosure: I do not have a GitHub account, nor do I intend to ever have
one. I have taught some introductory CS.)

~~~
turbinerneiter
My University provides a self-hosted GitLab (via the joint datacenter of the
cities universities and research organisations) and it's really, really nice.

I think you can't really ask your students to sign up to anything or use
anything that isn't hosted or provided by the university. And even for stuff
provided by the university, you shouldn't be forced to use any particular
software. As a mechanical engineer, I had to take CS intro class and they made
us use Visual Studio. I never liked that class.

~~~
userbinator
I'm actually not so opposed about software like VS (at least the older
versions which did not phone home, and which all you did was download and
install) --- it's reliance on _services_ that are the main concern.

------
zachruss92
In the school I attended (not Ivy League, but the respected leader regionally
for SE) students graduated without knowing how to use Git in the command line;
only git in the context of Eclipse. Building a Flask app would have been a
pipe dream. I think what Harvard is doing is truly great teaching students
real world applications, workflows, and best practices right from the intro
class!

~~~
ben_jones
I've seen a few schools now incorporating Git into their curriculum and had
the chance to speak with a few professors doing so. It came down to local
companies complaining that new CS grads didn't have the prerequisite skill
sets to work for them, namely Git but also web application development,
testing skills, etc.

It's an interesting nexus of "should a degree give you job skills", and it
seems to have won out. Personally I predict the tens of thousands of CS majors
getting pumped out every year will inevitably saturate the market at some
point.

~~~
erikbye
Graduating from introductory courses like Harvard's CS50 certainly don't
qualify you for anything but the most junior positions, which graduates are
surely finding out each year. They need to either put in major effort on their
own or take more courses, to get an interesting position. And looking at
current growth I wouldn't worry about saturation.

> A report on Science, Technology, Engineering and Math (STEM) from the
> Georgetown University Center on Education and the Workforce forecasts 51
> percent of STEM occupations will be computer occupations by 2018.

[http://logos.cs.uic.edu/recruit/csstatistics.htm](http://logos.cs.uic.edu/recruit/csstatistics.htm)

------
suhith
It's great that industry standards like Git are taught. I wish introductory
computer science at my school included coding, never underestimate the power
of piquing a student's interest. Many more of my classmates might be
interesting in coding if our CS101 was done right.

------
hprotagonist
I'm not sure i really need a t-shirt to commemorate a sub-100 level class.

~~~
stablemap
I wouldn't read too much into the number. Their department claims that Math
55, for example, is the hardest undergraduate math class in the country and I
believe them.

~~~
leereeves
I was surprised to discover that the course has a Wikipedia page:

[https://en.wikipedia.org/wiki/Math_55](https://en.wikipedia.org/wiki/Math_55)

> From 2007 onwards, the scope of the course was changed to more strictly
> cover the content of four existing semester-long courses in two semesters:
> Math 25a (linear algebra) and Math 122 (group theory) in Math 55a; and Math
> 25b (calculus, real analysis) and Math 113 (complex analysis) in Math 55b.
> The name was changed to "Honors Abstract Algebra" and "Honors Real and
> Complex Analysis" to reflect this.[citation needed]

Linear algebra, abstract algebra, calculus, and real and complex analysis in
one course. Sounds like fun.

~~~
jessaustin
Keep in mind that Math 55 is typically only open to frosh.

------
mcintyre1994
Does Github even have unlimited free private repos for students? They didn't
when I first checked at uni which made them a non starter for everyone there.

~~~
jna_sh
GitHub not only has free unlimited private repos for students, but offers the
Student Developer Pack, which includes services such as Amazon Web Services,
DigitalOcean, Microsoft Imagine, etc.

Teachers and researchers can also get both free private repos and free orgs.

[http://education.github.com](http://education.github.com)

I'm the student program manager at GitHub, happy to answer any questions or
concerns!

~~~
mcintyre1994
Nice, this looks awesome! Am I right in thinking it's less than about 4 years
old? Github is great and this looks awesome, nice one!

~~~
sotojuan
This first came out in 2013 or 14 IIRC. I remember signing up for it then.

~~~
jna_sh
This is correct! Student dev pack was 2014

