6 ms·
I teach at a school for js devs, and many of our students get started at Codecademy. Based on what I've seen, they're already great at getting people to square
by shawndrost 14y ago
I teach at a school for js devs, and many of our students get started at Codecademy. Based on what I've seen, they're already great at getting people to square one, but they're facing real challenges if their mission is to teach people to code.
Let's start with the good stuff: it's very, very engaging, and if I tell an applicant to go through codecademy, it's pretty likely that they'll get it done. In other words, they're very good at conversion optimization. They give the user very straightforward, bite-sized goals, and people end up doing a lot of work.
However, people that pass through this system end up with a very consistent and warped skillset. It's not because they're still newbs -- I run into lots of newbs that didn't go through codecademy, and these guys are unusual.
1) They're very familiar with syntax, and can fluently type code for common tasks, but have difficulty solving problems with these tools. For instance, it's very common that I find a codecademy graduate that can easily iterate through an array and initialize/modify variables, but not sum the elements in an array.
2) They don't model the program's execution in their head. This is a really profound and strange fact, with lots of weird corollaries. For instance, they don't have ways of dealing with errors when syntax-based guess-and-check fails. The notion of code executing line-by-line is surprising to them. This is a pernicious problem that requires unlearning.
It's very easy to trace these unusual skill profiles back to the mechanism that drives codecademy's success in the first place. I don't know what I would do in their place, but I have a few ideas of things that I'd like to see in the space:
--A curated project-based curriculum that takes followers along a similarly-well thought-out path.
--A wconsole-based codecademy that makes heavy use of the debugger.
- jonathanjaeger 14y agoVery well-put. I'm very busy and only have a certain amount of time to dedicate to Codecademy, but I'm really enjoying it. However, I agree with everything you're saying because I often find myself getting through exercises while not always grasping every aspect. Some of it takes self-monitoring to know when to go back and go through the concepts or look for outside help, rather than just seeing the green checkmark by an exercise and moving along.