At GitHub, we’re big fans of traditional computer science education, and we’re also happy to see some alternative models emerging for training new programmers. There are the Massively Open Online Courses from traditional institutions, online content from organizations like Udemy and CodeSchool, in-person experiences like Girl Develop It, and full-time intensive programs like Dev Bootcamp and the Flatiron School.
For a GitHubber, this is kind of an exciting place to hang out.
gSchool’s Lead Instructor, Jeff Casimir, invited me to drive down to their facility and give a few hours of advanced Git instruction. This group of students was already several weeks into their program, so naturally they knew Git basics before I got there. I spent the morning teaching them some Git internals, clarifying how rebase works, sharing helpful tips and tricks, and generally answering whatever questions they had. This was a room full of a few dozen hungry students who were going to learn what they needed to know no matter what I did—and I don’t mind saying what a rewarding environment that is for a professional teacher to engage.
One of the students, John Maddux, blogged about the class. He had fun with the lesson, but more importantly, he learned precisely the Git internals I had hoped he would learn. This is music to a teacher’s ears.
Computer science education seems to be in an important transition, as the industry searches for more optimal solutions to the problem of training new programmers. Will the future remain dominated by the traditional CS degrees of the past? Will four-year institutions be replaced with programs like gSchool and its many alternatives? Will Massively Open Online Courses overtake all the rest? For now we can only watch and see, but we’re delighted to be involved even in a small way, and look forward to more collaboration with others in this exciting space.