Codecademy and Gamified Education

Roshan Choxi
News on the Bloc
Published in
4 min readDec 5, 2015

--

The first time I heard about Codecademy was in 2011 when Mike Arrington (founder of TechCrunch) wrote a boldly titled blog post called: Codecademy Looks Like The Future Of Learning To Me. Arrington describes how Codecademy’s gamified approach to programming education actually made learning fun, and how much better education could be if learning anything was that much fun:

All I can think of is how if this was around when I was in college I may have actually learned calculus this way. I got a B in that class but I can clearly remember at the time being completely lost, and anything I did learn is now permanently wiped from my brain.

A few years have passed since then, it’s worth revisiting Codecademy and the trajectory of gamified programming education.

What Codecademy Does Well

As the founder of another technology education company, I was jealous of Codecademy’s original landing page. From the moment you visit it, they have you engaged and hooked into a gamified learning environment with short lessons and instant feedback. It’s a great product and a really fun way to start learning the fundamentals of programming without the agony of installing a programming environment or reading a dry textbook.

It’s an impressive technological achievement to run user generated code from the browser at the scale that Codecademy does. At Bloc we’ve built similar code-based games and interactive Ruby exercises, and can attest to the engineering challenge. Codecademy has expanded into a wide variety of subjects since the days when they only offered one JavaScript course. They now have courses in Ruby, Rails, Angular, PHP, Python, Java, SQL, the Command Line, and Git.

Codecademy’s interactive and easy-to-use interface has helped millions of novice developers overcome the obstacles to beginning to learn to write code. They’ve made programming more accessible for many people who otherwise would never have tried it and brought the idea of programming literacy into the mainstream.

What Codecademy Does Not Do Well

With Codecademy, you can learn syntax and basic programming concepts like objects, conditionals, and loops. They’ve also introduced courses for frameworks like Angular and Rails. The dilemma for aspiring developers is: there’s only so much you can learn in a sandboxed, in-browser, coding environment. The skills you need to be a professional developer could be broken down like:

  • 10% Setting up and maintaining a developer environment
  • 10% Programming syntax / basic concepts
  • 15% Learning basic frameworks and libraries
  • 30% Experience building real apps
  • 15% Learning architecture and design patterns
  • 20% Meta skills (e.g. knowing how to Google for things, using Stack Overflow, being savvy about the web development industry)

Codecademy offers an introductory view of programming, but you won’t come out of it with professional skills. At some point, you run into the limitations of what you can do within the web browser.

Gamifying Education

From our experience at Bloc, the greatest challenge in gamifying programming education is running user generated code in the cloud. If it’s done poorly, you can expose yourself to massive security vulnerabilities. Generally the way you do this safely is to run the user code in a closed “sandbox” environment. The tools for sandboxing programming environments has certainly improved since Codecademy was founded: tools like Docker and Vagrant have made containers and virtualization much easier to use. Since Codecademy, there have been more products created that use sandboxed, in-browser programming environments for more interesting use cases:

Bloc’s Ruby Warrior Game

The same constraints apply to both Codecademy and these products: sandboxed, cloud-based environments are a very limited subset of real developer environments.

The Future of Learning

Arrington proposed that Codecademy and gamified education might be the future of learning, but empirically it seems that sandboxed, interactive products are an incomplete solution for beginners looking to become professional developers.

With that being said, Codecademy and similar products are a great introduction to programming. If coding is the new literacy, resources that make programming fun and accessible are a great start even if those resources are not able to replace formal education.

--

--