CodeSchool is really rather good

Since coming across CodeSchool's free [Rails for Zombies] course online a few months back, I've been working though a few other paid courses they offer, and I recently finished both Rails for Zombies 2, and Rails Best Practices.

I thought it might be useful to share my experiences with Codeschool learning tools.

While I've been dabbling in Rails on and off over the years, since joining AMEE a few months ago, at times I've felt a little behind all the cool kids who've been coding nothing but Ruby all the time I was swearing at Drupal at Headshift, especially after all the changes brought about in Rails 3 and 3.1, with the asset pipeline, new AREL based query syntax, and shiny new default exotica like Coffeescript and SCSS.

Sure, one of the key points of Rails 3 is that it's much more modular, so you're not explicitly forced to use all this new hotness, but if you know enough about all these newer parts of the framework, at least you can make more informed decisions about which parts you'll update, and which parts you'll keep when updating a series of apps from Rails 2.3 to 3.

I've found Codeschool's trio of Rails focussed courses to be immensely useful in this respect. I really like the way they deliver the courses, and if I could, I'd want to learn to use any moderately complex like this in future, instead of reading about it in books.

The problems I have with learning from computer books

I'm pretty sure I'm not alone in having a habit of buying interesting looking O'Reilly or Pragmatic Programmer books, and never actually getting round to working through them in a useful fashion for one of the following reasons:

  • I read them away from the computer and everything feels too abstract to be useful, or I forget it what I've really learnt by the time I get a chance to use it
  • I sit down at a computer, with a book and an editor, and I end up wrestling with the setup, and spending time fighting with rubygems, or some some compiler issue brought about by one C-extension needed by a gem, or I simply lose hours due to stray typos I make when typing out code from the page, or when copying from a pdf.

This doesn't mean books are useless to me, I've got an immense amount from the Rspec book lately, as well as Gregory Browns Ruby Best Practices. But I frequently struggle with the two points enough to make me think twice about buying books at all.

Why I prefer CodeSchool's approach

I really like the information in Codeschools is structured - it feels like a much better fit for how I tend to learn things.

Each course is split into a logical series of chapters, focusing on a specific element of the Rails framework, before you get to use what you've learnt.

For example, you'll watch a 15-20 minute long video introducing how Activerecord works together with the new AREL based query builder, and have the option to get some downloadable slides and cheatsheets.

You'll then then work through a series of increasingly difficult exercises where you have to apply what you've learned, completing code examples, which are executed on the Codeschool servers to let you see if you've got things right or wrong. You'll inevitably have forgotten some of the content in the video by the time you're completing all these code samples, which is why the cheatsheets and slides are so useful - using them and referring back to them helps reinforce the lessons you've just learnt.

If you're really stuck, there are increasingly explicit hints available on some difficult sections, but having each hint costs points from your score as you progress through the course.

This was enough to make me refer back to the course content when I could have just taken the easy option, whilst still leaving me with options if I couldn't get past a section of the course on my own.

When I first started with CodeSchool, the model of paying more than $50 for what looked like screencasts with a few bells on top did seem a bit steep, especially when the fantastic Peepcode screencasts are a fraction of the price. But when you consider that a comparable computer book will often cost north of £30 anyway, and be obselete much faster, it starts to feel much more reasonable. Right now, I struggle to find a better tool to help you get a good mental model of how the parts of a framework like Ruby on Rails work.

Becoming a subscriber

Partly out of curiousity, and partly because I'm already impressed what CodeSchool offer, I tried out enrolling to CodeSchool recently - you get access to all the courses for $25 per month, in addition to steady stream of incredibly well made CodeSchool screencasts at are only available to members.

In terms of honing my skills as a developer, it feels like the best $25 I could spend each month - meetups are great for find people to ask specific questions, and reference sites are great once you have a decent idea of what you're supposed to be looking for, but the high level knowledge codeschool gives me, combined with the practice of working though problems that don't feel ridiculously contrived, is something I only think I could better by having someone dedicated to tutoring me in person and pairing with me daily.

I'm pretty sure that would cost more than $25 bones per month, so for now, I can safely say I'm a happy Codeschool user, and I'd happily recommend them to anyone interested in learning Rails, or any Rails developers who want to get a good grasp of the current best practices when writing Rails 3 apps.

4 thoughts on “CodeSchool is really rather good

  1. Bijan

    Awesome post. I’ve been using CodeSchool and TeamTreehouse (and KhanAcademy) lately and I completely agree that they can be a lot more intuitive than learning from old books and PDFs.

    I seriously feel your pain when it comes to the habit of buying books and then struggling to work your way through them. I usually spend HOURS of tinkering around with configuration issues before I can really even get started with learning the actual material in a useful way. And a lot of times the Rails and iOS communities move so fast and change versions and architectures so quickly that tutorials and books you find are loaded with errors.

    I just finished up completing all the lessons that are available from Team Treehouse and feel like I really picked up a lot of useful techniques. And now I’m getting started with learning from CodeSchool lessons, which seem to be a little more advanced than that of the Treehouse beginner stuff.

    In the end, it looks like there still isn’t a substitute available for the depth that a book can often provide. But hopefully with all these great new learning resources we’re on our way to a more intuitive learning process.

    Reply
  2. Chris Smith

    Hey Chris,

    I am in full agreement about why traditional programming books don’t really work for you. In order to lower the barrier to coding as I read them, I bought a nice, light 11″ Air, which helps a bit. But it is still a pain to download the book’s code (or try to copy/paste from a PDF, ugh), find the right file, open it in an editor, and code along. It should be easier. I’m experimenting right now with a much more interactive approach, based on the CodeMirror embedded editor.

    Can you take a look at this example tutorial and tell me how you like the experience?

    http://backbonecoffeescript.com/eco-helpers-tutorial

    Regarding CodeSchool, I think they deliver a very polished experience and great content, but personally I prefer books to videos for most of my learning, thus I am trying to move things in a parallel direction on the book front.

    Reply
  3. happypeter

    codeschool.com does make awesome screencasts that helps me learn much faster. And I also find railscasts.com great, focusing more on “get the job done’, rather than “explaining things”

    Reply
  4. Good Effort

    I completed the free Git course on codeschool and also did a bit of the free JavaScript course. Although it was a different experience with the exercises interspersed with the videos, I found codeschool subscriptions to be quite expensive compared to options like PeepCode (which, I admit, is not exactly the same experience). I’m from a third world country and while I have a PeepCode subscription that I renew for $109 every year, I cannot imagine spending $220 on codeschool every year. It would be nice if codeschool reduced the annual subscription prices to make them affordable to a wider audience. Or even if codeschool provided discounts for renewals for long term customers.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">