Monday, July 9, 2012

Code School's Git Lesson: Not a Huge Fan

Code School recently put out a free lesson on Git with the tagline "Got 15 minutes and want to learn Git?" With the promise of it being so short I decided to give it a try. My take is that the implementation of the tutorial is really slick, but the actual content left a lot to be desired.

Context

I used Git for one project in the past. I am much more experienced with SVN when it comes to source control for personal projects, and have used CVS in industry. I figured I could use this tutorial to better understand the way Git works as compared to what I'm used to, and to learn some of the commands, since I used Git via a Windows GUI.

What I Liked

I was really impressed with the tutorial implementation. Underneath the instructions up top, they had a little console you type your commands into. It's not fully functional by any means, but supports more than I expected. It's nice to be able to interactively try something while you can see the instructions so you don't have to switch your attention between multiple windows.

Under that, there is a little window showing the file structure you are working with for the tutorial. You can browse it, but you can't change it. It's nice to see what files you have access to visually.

The breadcrumbs up top are also a nice visual to show your progress through the tutorial.

What I Didn't Like

I thought the content of the tutorial left a lot to be desired. It was a little too basic, and didn't give much explanation of how source control works in general. In fact, there wasn't even much explanation of how Git specifically worked. It was mostly 'do this, do that.' This ended up not helping me take my Git knowledge further, and I felt like beginners would end up leaving with little real-world Git ability.

There was some more explanation and advanced information in the 'Advice' box at the bottom right of the page, but you have to scroll down to see it. When I even remembered it was there, it was annoying to get to, and the text was rather disconnected from the main content. It didn't end up being very useful because of this.

They give you a handy way to copy the main command you are working with into the console, which seems like a good idea at first. But honestly, if you aren't typing the one line commands in each of the tutorial steps, what are you actually going to learn? With the lack of meat in the tutorial, getting some muscle memory from typing the commands is the only real takeaway.

To top it all off, the main content had noticeable typos, which always distracts me.

Conclusion

In the end, I'm not a huge fan of this tutorial. I have to admit this tutorial wouldn't compel me to pay for access to the rest of Code School's courses. But it's a good start in trying to teach people about programming and
related systems (like source control), so hopefully we'll see more
iterations of this sort of thing in the future.