It might be the case that everyone doesn’t have to learn how to program, but I do think that, anymore, it’s the case that people should at least be familiar with the rudiments of programming, or at least scripting. Even if you’re never going to program something from scratch, it’s helpful to understand a little bit about the basic structures underpinning so much of our lives.
For people without any experience in programming, but with some curiosity and a few minutes to spare, Codecademy is a clever website that provides an interactive overview of basic programming concepts. You, too, can learn to say “Hello, world,” teach a website your name, learn about if-then statements, variables, and a few other fundamental ideas.
Each lesson looks the same–you get a short description of an idea or a method, and then an interactive box that lets you try it out immediately:
The web terminal is speedy, and the interactions are simple enough that the results are pretty gratifying–even without the somewhat over-the-top gamification elements of scoring and badges and the like.
Codecademy is only about a month old, and is still working out some of the bugs. You will occasionally run into scenarios like this one:
As you can see, I’ve followed the instructions correctly, and the terminal is displaying the correct output, but it’s also giving me a somewhat inexplicable error message. When this happens, I usually take that as a sign from the Coding Demons that it’s time to work on something else, and then come back later. That said, the lack of feedback about what’s going wrong is a real problem, even for a free service.
On balance, Codecademy is simple, free, and more fun than frustrating. Folks who are interested in becoming more conversant with programming concepts, but don’t (yet) have the time to actually learn a language, will probably find it helpful. [Edit added at 8.56am:] Amanda Krauss has an even stronger recommendation on her blog.
If you are looking for a slightly more in-depth introduction to basic programming concepts, you might try Ryan’s earlier post on Hackety Hack, an environment for learning Ruby. And, of course, there are other interactive sites that teach coding, scripting, or markup–W3Schools features a “Try It Yourself” editor, as well.
Do you have a favorite interactive tool for learning coding? Let us know in comments!
Photo by Flickr user Francis Storr / Creative Commons licensed