Tuesday, August 23, 2011

Let Codecademy Teach You How to Program!

As this blog's niche is testing education and things that can help boost that knowledge, I think it's great when new resources come online to help with that process. Have you ever wanted to learn how to program in an interactive and intuitive way? Do you like having an online coach who can help guide you instead of leaving you to your own wits? Do you like the somewhat social aspects of earning "brag points" and badges that you can display? Do these things seem like they have nothing in common?

I would have said the same thing a few days ago... and then I discovered "Codecademy".

Codecademy is a clever idea, and it's a fun way to get your hands into general programming. At the moment, there's a simple set of modules built around JavaScript, but it's really neat the way they have structured this. It feels like you are in a "programming chat" with another user, and you can actually keep tabs on your progress, earn badges you can display, share details on your Facebook profile (if you are so inclined) and see graphical representations of what you've completed. Really, it's a clever system, and it's actually fun to use. It's a bit sparse at the moment; those expecting a one stop shop of all thing programming related will have to wait awhile... or they can actually offer their own lessons if they have the knowledge and skill. This has great potential to be to the programmer what Wikipedia is to the encyclopedia. It's a community driven service, and  you can sign up to get notifications when new modules or courses are made available.

In short, if you've ever wanted to get into programming, have limited experience, or just like playing with fun tools, give Codecademy a visit. It's a lot of fun and, hey, you just might learn something :).

6 comments:

Shey said...

I took a look at this last night and really enjoyed it. As you said, it's fairly basic at the moment, but has immense potential.

Michael Larsen said...

@SheyMouse, thanks for the comment. It really looks like it could be something excellent. I am seriously considering seeing if I can put together some basic modules for Ruby. It would be fun to see if I could put something together that meets the interactivity and inventiveness, nd it would give me a great excuse to really see what I know, even if it's just the basics :).

Matt_Middleton said...

This is excellent! I've done bits and pieces of programming over the years, and understand the basic concepts of OOP, but I've been thinking lately that some PHP or Python might come in handy. This might just be the tool I've been looking for - traditional programming books/classes haven't often done much for me.

Michael Larsen said...

@Matt, I think there's something valuable about immediate feedback that a book or plugging away on your own doesn't give you. Codecademy could be an excellent step in the right direction. I'll be very curious to see how this app develops, and what the community involvement will be.

Anonymous said...

Maybe every-one posting so far is already a hot-shot programmer. But for others, this system if very frustrating (just look at all the comments on the Q&A). The feed-back is mostly meaningless to learners. "Syntax error " and "three is not defined" don't tell the beginner any-thing. On the other hand, when I figured out how to contact a live person, I got a quick response (the problem was caused by a bug in the program).

Michael Larsen said...

It certainly has a lot of room for improvement, and there's a lot that's missing, but again, it will be interesting to see if it can grow to be useful to a broader audience. And yes,I agree, there are a few areas that are less that helpful when you don't do what's "expected".