So you might think that a philosopher (like myself) and a computer programmer don’t have much in common. But you’d be wrong. We care about two basic things: logic and language. Syntax, semantics and validity are our buzz words. Variables, conditionals and booleans are the kinds of thing we work with on a regular basis. Perhaps it’s not too surprising then that a philosopher should be interested in what’s going on in the code world. Cue: Codecademy.
Launched last summer, Codecademy aims to teach complete novices how to code. Pick your language (Java, HTML/CSS, Python, Ruby), pick your tempo (you can pick up and put down an exercise whenever you want) and pick the friends you’ll do battle with and you’ll have started down the path towards becoming a coding ninja. Founded by two Columbia undergrads as a tool to help college seniors make themselves more marketable to top firms, the site has developed a global userbase boasting a million users in 200 countries.
Codecademy’s homepage
If you check out the homepage it’s not hard to see why – it’s pretty user-friendly. One of the strengths of the site is its focus on learning by doing. The second you land it gets you coding straightaway with step-by-step instructions and instant feedback. You’re then taken through to your first proper module: an Introduction to Java. Never heard of it? Doesn’t matter. Drawing on elementary math, the instructions run you through the basics of strings, if/else statements and variables. Handy for those with attention defecits, the exercises are bite-sized and you’re rewarded frequently for your efforts with points and badges.
An exercise on variables in JavaScript
On the down side if you do get stuck on an exercise and the hint box isn’t helping, you’re on your own – as yet there are no posted answers to any of the exercises. Also if you want to get a bit creative, it’s not the tool for you: the site only allows you to execute the tasks within the exercises. That said, if you do get inspired to use your new coding skills, there are plenty of sites out there that will let you play around: see jsfiddle.net (for Java, HTML and CSS) and tryruby.org (for Ruby).
Still, as far as teaching you to code goes, it’s the best free tool out there. One last note to the Arts students among you: don’t be afraid. Learning to code is just like learning a foreign language, except there’s only one tense, no cases, no new words (given you know English already), and you don’t have to worry about speaking and listening. More specifically, philosophers should feel right at home. Given all the formal languages you learn in Logic 101 (under sentential logic and first order logic), you quickly see that learning to program just applies those skills in a different context. So why not make yourself a New Year’s Resolution: make 2013 your Code Year.