On the Usability of Codecademy
11–20 of 85 posts
Re: On the Usability of Codecademy
#12In the initial stages of learning of learning a concept, have a dialogue appear for each error saying something like:
When you're coding in the real world no one is going to tell you this, but we've got your back! You forgot the quotes around your name. This problem occurs because some programming languages are case-sensitive, meaning that you have to type it in exactly the way Javascript wants you to. We'll give you a heads up about using quotes 4 more times and after that you're on your own.
To fix this error type in: "Janet".length instead of Janet.length
Re: On the Usability of Codecademy
#13Re: On the Usability of Codecademy
#14Nothing at all to do with CodeAcademy- but I really hate this behavior.
Re: On the Usability of Codecademy
#15No one actually codes using a REPL in a browser. Yet the site makes no attempt to explain why or how this REPL exists, or how it works.
It doesn't explain why I can only type in certain places on the screen.
It doesn't explain how to try again, or undo mistakes.
It doesn't explain why a string must be surrounded by quotes, but numbers must not be.
It doesn't explain why suffixing `.length` to a string (but not a number) does anything, versus any of 50,000 other English words I might have put in its place.
It's confusing that there are three sources of errors: those from the language, those from the tutorial, and those from the browser/internet. Where is this program running? Where does the code live? How does this code turn into action? How does the tutorial know what I'm doing?
Codeacademy doesn't explain how any of this magic happens. It just plops you down in front of a REPL and tells you to echo specific things.
Coding is not about learning the syntax that lets you type "Ryan".length. It's about learning the underlying concepts: the "why", not the "what".
Coding is best learned "the hard way".
Re: On the Usability of Codecademy
#16CodeAcademy is trying to teach people to code, and I think a big part of that, is learning to navigate small problems, debug, and follow instructions. If they just gave instructions that said "type the following", that would take away these problems - but what would that achieve? That would be like a professor not giving repeat questions on an exam, and a student complaining he wasn't clear enough.
Re: On the Usability of Codecademy
#17Codecademy have done a great job at reducing something that can be very difficult down to laymans terms but its difficult deciding just how far down the rabbit go they need to go. While the problems with the REPL and trying to delete text are obviously a problem (and a hard one to solve), I'm not sure the issue with leaving out the quotes is. Obviously if the text was replaced with "I don't know anything called liz"…
ie. for this one, since missing the quote is an obvious error, why not match the string entered with a regex (or your parsing tool of choice) and look for the presence of exactly 2 quotes, with at least one character in between. If it's not there, print "That didn't work. Did you miss out a quote?"
In fact, if they log all the things people type in, they could analyse it for all the most common errors and then start attacking each of those.
Re: On the Usability of Codecademy
#18I apologize in advance if what I'm about to say may sound harsh, mean or elitist, but the truth is programming isn't for everyone. While the intent of the article is very noble ("improving the usability of Codecademy"), it also raises very important questions about programming tutorials in general. How much "holding by the hand" should a tutor do, really? The examples the author gives are very relevant to my point. T…
Re: On the Usability of Codecademy
#19Adding more expansive instructions should help as their current one/two-liner approach doesn't really explain anything for the absolute beginners. However, this can put some slightly more knowledgeable learners off by being too pedantic so Codecademy needs to find the right balance. Within their existing UI, they can probably do this via offering more 'Show Hints' per task like certain computer games where Hint 1 is the cryptic-ish hint, Hint 2 gives slightly more context and Hint 3 for really struggling learners. Users can then self-select how much help they need and don't feel like they are being spoonfed. If Codecademy is really targeting the absolute (but willing) beginners, they need to realise these users are unlikely to google for help as they are used to self-contained courses a la CBT courses in their day jobs.
Agree with imjared about the sweet badges - if they want to get the crowd (or maybe just me) going, they should start offering the options for users to buy some embroidered patches or 3D printed versions of the achievements!
Re: On the Usability of Codecademy
#20I apologize in advance if what I'm about to say may sound harsh, mean or elitist, but the truth is programming isn't for everyone. While the intent of the article is very noble ("improving the usability of Codecademy"), it also raises very important questions about programming tutorials in general. How much "holding by the hand" should a tutor do, really? The examples the author gives are very relevant to my point. T…
It's not hand holding when you're trying to introduce someone to programming. Learning to use a REPL isn't a test to separate good programmers from bad. It's something that has to be learned first.
The things we know best are the things we play around with. The things I know the least well are those where I only learned the happy-path through some training procedure. I learned to read and speak and cook breakfast and ride a bike and program and everything else mainly by trying and failing.
(The bicycle is actually an interesting case, because we try to teach the happy-path with training wheels, though this essentially inverts the controls we're trying to learn. It's a confidence-builder, not a skill-builder.)
Last year I took a class to learn a new skill. The teacher was great: he was enthusiastic, and after each teaching point he got us to try it by saying "Now let's go screw it up and learn!" We spent a lot more time screwing it up than being lectured, thankfully.
I don't know much about "Codecademy", but based on this I would say it's not really going to help most people, but not because of these minor usability gripes. The goal shouldn't be to create an 'intuitive tutorial'. You're trying to teach people a new way of thinking. The goal should be to provide an environment where the essence (type something, get result) is completely obvious, and where more information is always available upon request, and where they are encouraged to play around. What I'm seeing is an environment where there's a right and a wrong. It makes programming look like a 1980's MS-DOS adventure game but harder.