Affiliate Disclosure: By buying the products we recommend, you help keep the lights on at MakeUseOf. Read more.
If you’ve ever tried to learn to code from a book, you know how boring it can be. Why not try some engaging options to make learning more fun?
Each of these websites has its own distinctive style, but they all have elements of games built into them. They’re quirky and fun, and they’ll keep you coming back to learn more.
The learning environment is a cute fantasy RPG with knights, ogres, and mages. Move your minions, target your enemies, launch attacks, and destroy the servants of darkness!
Code Combat launched in 2013, so levels are still limited. But the team behind Code Combat will be developing like mad to get more tutorials and games up, so expect more from this site in the future. They’ve even opened it up and made everything open-source so that Artisan Wizards (users) can write their own levels.
A bonus feature of Code Combat: if you can pass the Gridmancer level, they’ll help you get a programming job in San Francisco!
The martial-arts- / samurai-themed leveling system is fun and compelling — each time you complete a kata, you gain honor points. Gather enough points to level up to the next rank, unlocking more difficult programming challenges. You can also gain honor points by writing your own kata, leaving comments on others’ kata, and by referring your friends to Code Wars.
The challenges are useful and fun, and Code Wars is the only site listed that also teaches you to test your own code. But there’s little in the way of instructions, so prepare to do a lot of Googling to solve the problems. Although it can be a slow process, this is a great way to learn what coding is really like.
It’s not as goofy as Code Combat, but support for more languages and a less childish should appeal beginners. Code Wars also has a strong community, which helps beginners get up and running. And leveling up and gaining prestige are motivating rewards on their own!
Unlike the previous two sites, Code School is not free. And at $290 per year ($29 /month), it feels like a bank buster. But the Code School team has created a website so engaging and useful that it’s worth the investment if you’re serious about learning to code. With a subscription, you can take as many courses as you want and switch between them at any time. They also offer a free two-day “Hall Pass” that gives you 48 hours to try out everything here for free.
Of the three sites discussed here, Code School has the least “gamey” feel. Each lesson consists of a short video lesson followed by challenges; each challenge that you complete earns you points, and asking for hints reduces the point value of the question.
Code School points don’t do much at the moment. In the past, when you completed a course, you would get a $5 voucher that could be used at the Code School store, but that program has been scrapped. Hopefully we’ll see something similar in the future! But for now, you can collect points and badges and show them off to your friends. That is certainly worth something.
Which one should you choose?
If you have no idea what you want to do or where to start, I’d recommend Code Combat. It’s the friendliest and simplest of the three, and it’ll give you a good introduction to the basic concepts behind all programming languages. If you decide that you really like it, you can move on from there.
Code School, while very useful, requires some knowledge before getting started. If you don’t know the difference between a function and an array, you might want to start with something a bit simpler.
Once you’ve got your feet wet with these programming sites, you’re ready to graduate to more challenging tasks, like creating your first app. Beyond this point, you’re limited only by your imagination!
Secure some web hosting space for your web app, or write a program to help you with your daily tasks. Get yourself a Raspberry Pi or Arduino and try your new skills. Don’t forget, we have a Raspberry Pi guide and an Arduino guide for the first glimpse.
Have you used any games or fun sites to learn programming? What’s your favorite way to learn to code?