Coding is powerful magic, and learning to code is like reading a pile of moldy spellbooks while grinding alchemical ingredients into fine powders--at least, it used to be. But new, interactive learning tools put the exercises front and center, promoting you from apprentice to sorcerer at your own pace. Some make you prove that you understand a lesson before letting you move forward, resulting in a more engaging learning experience--and ideally, greater understanding. Not all are for beginners: Experienced coders sometimes need to pick up a new language, too. But they're all available on the Web, and most are free.
Codecademy: Beginner-friendly learning for free
Code School: Where video meets code
Unlike Codecademy, Code School charges users a fee of $25 per month--though the site does offer a few free courses, too, including a Git tutorial and a Ruby on Rails programming course called Rails for Zombies (zombies included).
The Git tutorial requires no programming knowledge, and you can complete it in a matter of moments. It requires setting up a real (free) GitHub account, and pushing a repository to that account. Code School's Git tutorial doesn't have any videos, but the text is clear, and the design is pleasant and distraction-free.
The more-complex Rails for Zombies tutorial includes videos followed by practical exercises. It assumes a higher level of initial knowledge than the tutorials at Codecademy and Rubymonk do, and it doesn't let you skip ahead: You must complete each level before moving to the next one. You can download the videos and review them as you do the exercises. The course is very fast-paced, and it can become frustrating at times.
The Neo tools: Ruby Koans and Git Immersion
Neo (formerly EdgeCase) offers two free interactive tutorials, one for the Ruby programming language and one for the Git version control system. Like Code School, these tutorials assume that students already possess a bit of coding knowledge.
You can step through Ruby Koans either in a browser or by installing Ruby and downloading the koans. Each koan is a simple drill requiring you to fill in the blanks to get an expected result.
The texts accompanying each exercise attempt to be Zen-like, and they succeed in this to the extent of sometimes being more confusing than helpful: "To understand reality, we must compare our expectations against reality. The answers which you seek: is not true." Still, if you have some programming background and wish to learn Ruby syntax quickly, the koans can be fun.
Neo's Git tutorial, Git Immersion, is more extensive than the quick Code School alternative, but it also requires more setup. You must install Git on your machine to step through the tutorial, which doesn't interactively check your work as you step through it.
RubyMonk: For Ruby beginners
RubyMonk is a simple, free Ruby course with built-in code evaluation and exercises. It assumes a modest level of initial knowledge, such as knowing what an array is.
The explanations accompanying each RubyMonk exercise are simple and clear, and the site is free of banners and other distractions from learning.
Snap your fingers and get coding
These tools are just the thing for setting your own pace and learning by doing. Together, they become an entire magical laboratory. Just cruise over to any of the links and start crafting your code. The results can be spellbinding.
This story, "So you want to be a coder! These tools can get you there" was originally published by PCWorld.
A boom in wireless security cameras is inspiring a movement in DIY home surveillance. Follow our buying...
Mozilla's Firefox backed further from the brink last month, and Mac owners continued to abandon Apple's...
The kit helps developers build apps that boot as OSes and are less dependent on hardware
An entire anti-drone industry is emerging. These new tools will enable drone detection, tracking,...
Using a combination of mixed reality displays and 3D cameras, users of Microsoft's "Holoportation"...
The Russian government claims to have foiled a “large-scale” cyber attack from foreign intelligence...