Codecademy

codecademy-logo-black.png

Learning to program has been a goal of mine for years, but it’s one that all too often gets set aside. This is fairly normal given the challenges that accompany trying to learn something as foreign as a new language (with the added complexity of logic problems thrown in). Introductory texts are often stultifying, and I found the dilemma of deciding exactly which language to dive into to be anxiety-inducing.

Luckily, Codecademy has simplified the task of learning to code into a friendly and easy-to-use web interface driven by bite-sized lessons that slowly add up to functional working knowledge. Primarily oriented in Javascript, HTML, and CSS, Codecademy uses discrete tasks and challenges that can be performed in browser to drive learning. They succeed, in part, because they have eliminated the need for books or additional software. All you need is a browser, and a few minutes to practice.

With that being said, Codecademy is definitely not intended as a replacement for most programming texts. Instead, I think of Codecademy lessons as responsible for building a set of skills and familiarity that you can use as a foundation or framework for other languages.

In the past few months, Codecademy has been leading something they call Code Year which introduces a new lesson every week over the course of a year with the end goal being the ability to program an interactive Javascript-driven website. While I haven’t been as consistent in the weekly lessons as I’d like, I find that I’m still motivated to return to the site when I have the time.

Finally, this isn’t the only resource of it’s kind out there, and there are many others that deserve recognition (Udacity is another site that has garnered a lot of attention, but I haven’t had the time to check it out). If you know of any other resources that have helped, feel free to list them in the comments and I’ll add them to the review.

-- Oliver Hulland  

Sample Excerpts:

code academy sample.jpg
This lesson details how to think about and use a “function” in Javascript.