As a librarian with a strong interest in web services, I’ve always wanted to improve my coding skills. I’m comfortable with HTML and basic CSS, and way back in the day my friends and I entertained ourselves by creating text-based adventure games in DOS using some form of BASIC, but to be honest, more advanced programming languages intimidated me a bit. So several months ago I was intrigued to discover Codecademy. The claim on their home page caught my attention:
Codecademy is the easiest way to learn how to code. It’s interactive, fun, and you can do it with your friends.
I think this is a great idea. Coding is something you need to actually do in order to learn it - I’ve tried to learn from a book and found it frustrating to be always shifting my attention from the printed page to my computer monitor. Considering the service is free, I would recommend that everyone give it a try. However, there are a few aspects that still need some work.
What I like about Codecademy:
- It’s much less imposing than a heavy textbook.
- Each lesson is broken down into a series of very short exercises, and as long as you’re logged in to your account, this means it’s easy to work through an exercise or two and pick up later where you left off – even if you only have a few minutes at a time to work on it.
- When you get stuck, you can always refer to the Q&A, which is a forum where you can post questions about a given exercise and other users can post answers. In my experience, I’ve always been able to fix my issues by reading what others have already posted in the Q&A.
- It’s web-based, which means there’s no software to install and you can log in from any computer (it even works on my iPad, but let me assure you, having to move the cursor around so much on a touch screen is not a pleasant experience).
What still needs work:
- There is a bit too much hand holding. Too many exercises provide the vast majority of the code for you, and just prompt you to add a line or two. Although this means you can get through more content more quickly, I feel there should be more opportunities to start from scratch. I understand that programmers usually build on existing code rather than starting from a blank page, but I find I learn better when I have created something from the ground up. Some exercises are also too simple, in the sense that they tell you precisely what to type and on which line. I would rather figure more things out for myself.
- The “hint” feature isn’t used consistently. Usually, this space is used to point you in the right direction if you’re having trouble, and it is a useful feature. However, there are a few exercises where critical information is located in the hint; in other words, there’s no way you could be expected to complete the exercise without looking at the hint. There are also some instances where the hint provides information that isn’t critical but is interesting and helpful to know, which means that if you were to complete the exercise without looking at the hint you would miss out. Of course, consistency is difficult to achieve when the lessons are created by other users, but perhaps they could have an editor look into this.
- They take the gamification aspect a bit too far. In the early stages it seemed that I was receiving a new achievement every ten minutes or so, which made each one feel like less of an accomplishment. And you earn points for each exercise, even the ones that don’t require you to do any coding (they provide some text for you to read and then prompt you to hit the run button to move on to the next exercise). I would rather have the feeling that I earned all of my points.
- There are some small technical issues. On a few occasions, I’ve written my code and seen it run correctly, but the error message says I need to change something. Usually when I check the Q&A someone else has had the same issue, and the answer is that you need to use a very specific variable name or change some spacing; in other words, what I’ve done is correct as far as the programming language is concerned, but the Codecademy system won’t acknowledge it. In other cases, the message tells me I’ve completed the exercise, but when I check back later there’s no green checkmark to indicate I’ve completed it. When this happens, I have to redo the exercise in a different browser.
Overall, I am certainly impressed with Codecademy, but it might not hurt for them to slap up a big “beta” sticker while they iron the kinks out. To their credit, each exercise gives you the option to give it thumbs up or thumbs down, so I’m sure they are collecting data as to what works and what doesn’t. I would suggest they take this one step further and put a comment box next to the thumb icons, since there has been more than one exercise I’ve found frustrating enough to want to write down a sentence or two in addition to clicking on thumbs down.
Have you tried Codecademy? I’d be interested to hear your thoughts, so leave a comment below.