If you’ve recently used YouTube you’ll probably have seen an advert for Treehouse, an online ‘school’ that aims to teach people how to code with just 10 minutes of practice a day. Treehouse is one of a few learning websites that seek to teach coding to those with little or no prior experience. Coding can include both programming and markup, just two components of the applications and websites we make at Createful.

Codeacademy and Code School are two other websites also teaching people to code, but have their own respective strengths. Having used all three products over the last 6 months, it only felt natural that I should write a comparison.

Treehouse

Treehouse, an $8m company, as of January has one of the best user experiences I’ve ever had on an educational website. Its vast catalogue of well-presented instructional videos, technical exercises, and multiple-choice tests are geared towards giving people of all ages the practical skills they need to advance their careers or studies.

Treehouse

Of all the websites I’ve used, Treehouse has the most variety in its content, spanning multiple programming languages and fields in Web Design & Development, and Android & iOS Development. Treehouse also organise their courses into ‘Tracks’, which are geared towards a particular practice or sector, such as WordPress Development or Android Development. The thinking behind this is to give users a variety of skills in order to tackle a wider range of problems.

Treehouse tracks

In addition to a great user interface and high video production value, Treehouse has an active forum where users can discuss code problems and concepts. The included two-week trial for all new users also makes it easy to determine whether you’re ready to commit to the service, although a credit card is required to sign up.

In some ways, the experience of using Treehouse is confusing. Their advertising makes reference to adults who want to change career, but videos use characters like ‘Mike the Frog’ to illustrate ideas, a slight contradiction in my eyes. While this teaching style may be ideal for those starting out, I often felt distracted.

Treehouse library

Something I also found disconcerting was the way Treehouse assesses ‘code challenges’ – tasks in which you’re required to type out a specific set of code. In several instances, the code I had typed was correct, but wasn’t exactly the same as what they were looking for. This greatly contrasts with some of the other sites I’ve used. Codeacademy’s challenges, for example, offer a number of possible answers – an experience I found much less frustrating.

On the whole, Treehouse offers a competitive service that provides high quality video-based learning to those who want to learn to code from the absolute beginning. With an iPad app and and an active community, Treehouse is set to last. Intermediate users however, may find some aspects of the experience to be tedious, and this is why I’d encourage you to get a feel for it yourself by signing up to its free trial.

Codeacademy

With over 24 million users, Codeacademy would appear to be a far more popular product than any offering from Treehouse. Founded in 2011 by Columbia University dropouts Zach Sims and Ryan Bubinski as a Y-Combinator startup, Codeacademy’s free learning resource has raised over $12m in funding and now provides courses in six subject areas, including basic HTML & CSS, Javascript, and PHP. Whereas Treehouse is geared towards teaching through video, Codeacademy takes a much more hands-on approach. Every lesson has an accompanying task, so in order to progress, one must complete a short exercise. While (as mentioned) Treehouse’s code challenges require you to give an exact answer, Codeacademy’s marking is much more intelligent and allows users to provide a number of different answers, as long as they meet the requirements of the task. For a free product, I found Codeacademy’s interface to be immensely intuitive and it took only minutes to start a lesson upon creating an account.

Codeacademy interface

Unlike Treehouse’s ‘tracks’, Codeacademy also categorises its lessons by programming language, so every skill you learn is geared towards the language you’re studying as opposed to broader subject areas like Web Development. While this is a more traditional way to go about learning new coding skills, some users may find a lack of variety repetitive.

Codeacademy courses

The quality of instruction however, is very good and each course often pushes you towards a practical outcome: a project. Projects are often broken down into lots of small steps so the learning curve doesn’t seem as steep, and breaking subjects down in this way also makes it easier to stop and start again later.

Codeacademy projects

Codeacademy doesn’t currently charge users for its service but it’s important to bear in mind that this may happen in the future. Nonetheless, Codeacademy is still a hugely competitive service and would remain so even if users had to pay. While it doesn’t have the vast catalogue of content or variety that Treehouse has, Codeacademy remains a fantastic product, and would be a great way to determine whether coding is something you’d be interested in spending time on. As a free service it will probably exceed any expectations you might have.

Code School

Code School is another paid offering, albeit less successful, but promising. Code School offers four ‘Paths’ much like Treehouse’s ‘Tracks’, but these are again geared towards individual programming and markup languages as opposed to broader subject areas. An exception to this however, is its iOS course, which attempts to teach you the basics of building an iPhone or iPad app. I found Code School’s choice to carry a Ruby course interesting, when PHP and Python create far more jobs and are used to build many more websites.

Code School paths

At $29 a month (~£18), Code School puts itself in the same pricing bracket as Treehouse, but unfortunately doesn’t have as sizeable a library of content. It does however, split learning between videos and practical exercises and as with the other products, applies these skills in projects.

For me, the most off-putting aspect of Code School however, is its interface. The process of answering problems and progressing through lessons seemed clunky and slow, and I didn’t feel the sense of accomplishment I did with the other two services. Most of all though, I didn’t feel as if the $29 cost was justifiable. Ultimately the service Code School provides is the same as Treehouse’s, just not as good, although it does offer some free content, the equivalent of a trial.

It’s worth noting that all of the aforementioned services attempt to teach beginners how to code, as opposed to intermediate or advanced users. This is especially true in the case of Treehouse, where the learning curve is gentle and relatively unchallenging for users with any prior experience. It’s my opinion therefore, that all of these online courses should only act as a foundation for more structured learning and practice. Much of my own personal learning comes from experimentation, although that’s not to say that these services don’t allow for that, but ultimately the best way to learn how to code is to practice regularly and explore new concepts.

Ironically, the best experience I had from all of the tested websites was Codeacademy’s free offering, perhaps because it was the website that most encouraged me to apply what I’d learnt to other problems and build more complex websites. Treehouse still offers a great service, and most beginners will find it to be an enjoyable way to learn to code. While Code School tries its best to offer stimulating content, I couldn’t help but feel that it didn’t compare on a usability level with the other two services.

If you’re considering learning to code online, my best recommendation would be to try out all of the free content each service provides and form your own conclusions.

Have you tried any of these services? Are there any we missed out? Comment below and tell us.