Hey, this hour of code thing is kind of cool. Sofia kind of lost interest after about 15 minutes. "I'm tired of making the zombie find the flower" but I told her she could stay up past her bedtime if she worked on it more and she's game.
Let me tell you, I've totally turned around on this issue. I used to be the sort of asshole who said "there are people who can grok pointers and people who can't" - using that Harvard research as my crutch, the research that said, "Here are points where people wash out of our computer science program:"
- just understanding that computers execute things one after the other - this is what Hour of Code seems like it will be really good at teaching
- concurrency (which is kinda the opposite of #1. funny old world)
But just because these are the points where people wash out of CS programs doesn't necessarily mean that those people were flat-out incapable of understanding these concepts. It probably just means that Harvard's sink-or-swim teaching methods kind of sucked.
New research shows that old 'fixed mindset' kind of thinging creates self-fulfilling prophecies that lmit people. It's toxic. The problem with saying, "Why are you trying to draw? You can't draw," is that people actually believe you. We have to overcome that last-century 'you must be naturally talented or don't bother' sort of thinking if we want to accomplish stuff.
Me, I'm lucky. Coming from a supportive you-can-do-it sort of family, I just enjoyed learning how to program. I got off on it. When I discovered pointers and recursion my head exploded with possibilities. Not everyone's going to be like me, and it's going to be hard work for them to grok those concepts, but I firmly believe that almost anyone can do it if they put in the effort. And the benefits are enormous - if, for example, you're a game designer or producer, and you learn to code, you're no longer beholden to other people to make things happen. You can make a game by yourself. And you can probably get a decent-paying job somewhere.
There's another sticking point besides the four I just listed above. Someone recently told me that they've tried to learn to code, and they can work through tutorials and whatnot, but when it comes time to create something original they don't know where to begin.
Well, most coders avoid creating something original. We run a code wizard that generates our windowing app for us, or use someone else's engine, or cut and paste some code off the internet. The swinging-and-wallrunning character code in Energy Hook started with the Unity character controller as a base. Eventually you'll find you've replaced the handle and you've replaced the blade and you've got a knife that's totally yours. No shame in that. (Though there may be a few dick-swinging coders out there who do try to shame you for it. Try to ignore them.) Coders are allowed to plagiarize away their blank-page-syndrome in a way that novelists aren't.
Jake the Dog time:
Going beyond Jake the Dog, there's been research that shows people are usually overconfident when they first try to learn something. There's this curve where they think they're good, then they train some more and realize how far they have to go and think they suck, and then they actually get good and they think they're good again.
So, if you think you suck at something, you may be halfway to getting sorta good at it.