What would you demonstrate to a kid to get him or her excited about programming?

5 points by practicalpants ↗ HN
I'm going to be spending a bunch of time with my best friend and his 8 y/o, and since I'm already talked about as the "computer guy" (I'm a software guy really), I think it'd be fun to sit down and show the kid how awesome programming can be. An alternate way of phrasing this could be - what gets you super excited about programming, or that you think is just plain cool, that kids might also find fascinating?

9 comments

[ 4.3 ms ] story [ 34.0 ms ] thread
Show him how to make his favorite game, it's probably just Angry Birds or w/e with lots of tutorials available in lots of languages for you to get up to speed and reduce to digestible simplicity, and then discuss the things he would and can now change about it.

If that doesn't get him interested he's probably never going to get interested.

I teach a programming class with ~50 kids, aged 9-15 and we got started using Scratch [1]. It's not quite coding but teaches a lot of important programming concepts, and is really easy and intuitive for kids to use.

After we played around a bit with the editor we checked out games that others had made, and the kids were super excited when they realized they could actualy build the games they had played themselves.

I'd let him/her play around in Scratch a bit, show some existing projects, and then build a game/project together from their interests (which is roughly what we do in our class).

[1]http://scratch.mit.edu

If there is the time show him/her how to write a fun but simple game or star with something already written that you can explain to them how its written and how they can change the code to make it do other things (changing formulas, variables/graphics, etc.)

I got into programming partly learning how to program, but also experimenting by hacking up BASIC games, it was fun to change the rules, and or actions in the game, and energized my desire to learn to write my own.

"I think it'd be fun to sit down..."

I can't think of any way to guarantee getting a child excited about programming.

But if I were coming up with a list of places not to start, ideas of what adults think ought to be fun would be on it. So would sitting down.

Anyway, I will give making a list of positive stating points a shot.

() It is a long term project. The kid has been around computers and knows they make pictures. There's no way to make a miracle moment for an 8 year old. They've seen an iPad.

() Focus on the young adult ten years away, not trying to create a HN front page prodigy.

() The interesting part of programming, and the part about which we are passionate is not the typing. It is the ideas.

() What children love is being taken seriously and learning. The best way to do this is by removing the shiny screen from the equation and having a conversation - give them words to add to their vocabulary and ideas by which to see patterns in the world.

() Be present. Throw a ball or kick one and instead of lecturing on technique, talk about what computers can do. Only sit down at a screen if you are asked to demonstrate. It's got to be natural...come to think about it, going for a walk is a good approach.

Plans to get a child excited about x are pretty much analogous to the management methods of the PHB.

Sharing your passion is great. But it's your passion not the child's. Maybe some of it will rub off and a seed will be planted. But it is a seed. It needs to be given time and space to grow and though it may produce a mighty oaken programmer, the odds are the child will grow to a maple or dogwood or redwood or beanstalk.

And the only healthy approach is to go into the relationship being ok with that.

I think, if the kid has a phone or a tablet, building a quick and simple app for his device might make him think that programming is cool. Get him involved in the process, build a fart app or similar, getting him to make the noise and record it.
This, without a doubt, is my favorite idea in this thread. Wow the kid with your "magic" powers.
I downloaded Kodu game labs for my 9 year old. http://fuse.microsoft.com/projects/kodu

He asked me "How do I use it?" I told him that I didn't know, and that he should watch the tutorials. An hour later I came back and he had made a game where all the characters attacked each other automatically. He showed me how he chose the characters responses (if this happens, then do that). I thought it was pretty cool. I still don't know how to use the software, but he has made a bunch of little games.

Minecraft with the ComputerCraft mod may get their interest. Programming little robots in LUA to help them build and dig.