Live data from Hacker News

On the Usability of Codecademy

programmingzen.com

41–50 of 85 posts

Re: On the Usability of Codecademy

#41

I love codecademy, but I always wondered if it would be better to ease a newbie into programming with a 'childrens' UI like Scratch or Alice. It wouldn't build up any coding muscle memory, but it might help them get use to the general look and feel of code before asking them to type it out themselves.

I'm really curious to know if anyone has experience with this. On the one hand, kids like building games, so Scratch and Alice seem like a good idea. On the other hand, those aren't "real" languages, so I think...why not just teach kids how to actually write code? I'm suspicious of how we dumb things down for kids. Anyone have experience teaching kids to code, either with Scratch/Alice, or another language?

yeah there's like a whole field of research and a profession devoted to the topic: computer science education

Re: On the Usability of Codecademy

#42
post #8

I made my (non-programming) girlfriend try codecademy and she had the same kind of troubles. I had to go at lengths to explain to her what a console was. She also told me that codecademy assumes too much stuff is known, like booleans or whatever. All the things that we take for granted and innate are extremely complicated to teach through a human-computer interaction. In the end she went and googled "javascript tutor…

Slightly offtopic: I also have a non-programming girlfriend and she recently expressed an interest in learning what programming is all about. This is because she often sees me coding, knows that I like it and that it's a big part of my life, and feels bad when I start talking about how I started some new project and she knows that I cannot tell her in detail what it's about because she wouldn't understand me (I ususally like to make stuff for developers, like libraries, tools and so on, not stuff for general public).

So I've been pondering what would be the best way to teach her a bit about programming, just to give her some general idea on what programming is. Should I just make a simple website with her and show her how to do basic stuff using javascript, or should I start with some theory first (I'm not thinking here about teaching her theoretical CS, just some basic OO principles). Anybody has any advice?

Re: On the Usability of Codecademy

#43
I work for a small start-up in a completely non-technical role. I have no programming ability and previously had no desire, but since I've started working here I've had the desire to learn some.

Until Codecamedy came along it was probably just going to be a project I continuously put off until something else changed to make it happen. But now I'm signed up to get the Code Year emails, it's something I'll probably remember to do from week to week.

Anyway, back to the usability. I agree with the author that it's easy to make mistakes and feel confused with learning to code on Codecademy. But from what I've gathered so far it's easy to make mistakes and feel confused with learning to code, period.

Programming involves a lot of testing, of trial and error, to come to the right answer, or more relevantly; a better answer. Codeademy is giving people the opportunity to ease into that sense of trial and error, but it needs to be there nonetheless, because that is the reality of programming.

If you make a mistake, such as typing with a close bracket quote, and then you get an error message, what you do from there is probably a good signal of whether you should continue learning to code. If that happens to you five times, and you keep thinking "huh, why did that happen?" and then continue working on it until you figure it out, there's a good chance you have the sort of insatiable quest for understanding that you probably need to be a programmer. On the other hand, if you give up after a few tries, then it's likely that you don't have that same need to understand the logic behind it.

Codecademy is obviously trying to bring programming to a wider audience, but it shouldn't simplify it to the point where it's not giving a realistic picture of the very nature of programming. You can choose to take the stairs over diving in; but you still gotta get in the pool.

Re: On the Usability of Codecademy

#44
post #40

A large part of learning to program is testing, then debugging. If 2+3 didn't work, my natural course of action would be to read the instructions again, and then try 2+2 . CodeAcademy 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 problem…

Talk about a quick opportunity for improvement! Instead of displaying: "Oops, try again." Code Academy could type your statement: "A large part of learning to program is testing and debugging. Please see if you can figure out what went wrong and try again." It's all about setting expectations.

I very much agree with this. But I still think that if someone types in 2+3 at that second exercise, the program should compute it properly and not error out :)

Re: On the Usability of Codecademy

#45

This online tutorial grossly overestimates how much the layperson understands about computer languages. For the complete beginner, far too much is left unexplained. No 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 mi…

Just a quick correction to your comment - they are CodeCademy www.codecademy.com, not Code Academy www.codeacademy.org

one of those teams picked a bad name, given the obvious and inevitable confusion it would cause.

Re: On the Usability of Codecademy

#46
I thought my 10y.o. daughter might want to learn programming. So I pointed her to codecademy and said if she got stuck, to call me over.

She was excited to try, but ran into the exact same problems this article surfaced. She was being a real trouper about it, but it was plain that her patience and temper were running short. That said, once we got past the first steps and I taught her how the website was supposed to work, she breezed through the next handful of exercises before calling it a night.

All that said, I was definitely left with the impression that codecademy was not well designed for complete beginners. Yet.

For now I had a brief look at Scratch (http://scratch.mit.edu/) and I'm tempted to turn her loose on that. It seems to have a nicer effort/reward slope, and will help her understand enough of the core ideas behind programming that I could then turn her loose on other languages.

Re: On the Usability of Codecademy

#48

Earlier quoted context omitted.

Agreed 110%. given that up and down arrows scroll up and down, having left/right arrow keys ties to history fwd/back would make a heck of a lot more sense.

I don't follow. Given that up and down arrows scroll up and down, left and right should scroll left and right, which is what they do.

Left/right - yeah, I see your point. I was testing it on a page that didn't need to scroll left/right when I tried it, so that didn't occur to me. I probably always mouse or trackpad for scrolling anyway, so my key-fu is a bit rusty.

Still... 'delete/backspace' going back in a browser never made sense to me.

Re: On the Usability of Codecademy

#49
post #3

Glad someone pointed this out. Several of us are doing this at the office and I've watched our design team struggle in similar ways. If you're not used to the the kind of errors you'll see in coding or javascript, it can be incredibly confusing. Luckily for me, a reference error can be meaningful but to someone who has no idea about scripting, it's utterly worthless (sure you could argue this person should go to goog…

Is this the problem you're talking about? http://i.imgur.com/tSfvV.png

It's not. I was referring to Understanding Parameters - argument types, part 1.

It seems to have been fixed since I mentioned it this morning.

Re: On the Usability of Codecademy

#50

Earlier quoted context omitted.

I don't follow. Given that up and down arrows scroll up and down, left and right should scroll left and right, which is what they do.

Left/right - yeah, I see your point. I was testing it on a page that didn't need to scroll left/right when I tried it, so that didn't occur to me. I probably always mouse or trackpad for scrolling anyway, so my key-fu is a bit rusty. Still... 'delete/backspace' going back in a browser never made sense to me.

On many keyboards, there's an arrow pointing to the left on the backspace key, which may be where the convention comes from.
Post reply on HN