Ask HN: How do I talk to 2nd graders about code?

6 points by jader201 ↗ HN
In a few weeks, I will be talking to my son's 2nd grade class about what I do: coding, with a focus on building web sites. What should I talk about?

I'm not as interested about them knowing what I do, though I will talk about that some. I will probably talk about a web site I created (www.animalcrossingcommunity.com), mainly because it's about a video game franchise that many of them may have already played, and thought that is at least something that I do that they can truly connect with.

But I'm more interested in planting an age-appropriate seed about the world of coding, so that if this is something they're inherently interested in (but may not realize it yet), this will help them realize that and pursue that interest.

I historically have a hard time connecting with younger kids -- or other people, in general -- that are on a different level, particularly when it comes to code. So I thought I would seek out the help from the HN community.

Particularly, I'd like to talk about things that might be interesting to them. I also would like to give them something to take home, like a list of sites (just a few to get them started) that talk about coding on their level.

What have you guys seen that would be good to share at this age? What suggestions do you have?

If it matters, I have 30 minutes or less to talk to them.

8 comments

[ 2.0 ms ] story [ 26.7 ms ] thread
Kids are familiar about game sites like discoverykids and many others. Talk to them that they have the power to Create.

I'd advise having prepared quick demos: i.e.: 1.- Their own website "I like" my grandmother, my pet, my school. Hope you get the idea.

2.- A game demo (Scirra Construct 2 has templates included, Scratch too), showing something simple that will use your Funny face (ready to insert) and show it off.

Good tips. I don't think I will have available resources for demos -- i.e. this is a generic "career day" talk, not something for computer class. So I may be limited to what I can show on an iPad.

I found some cool sites/apps for making games and building models:

http://scratch.mit.edu/

http://ccl.northwestern.edu/netlogo/

http://gamestarmechanic.com/

From these sites:

http://techkimgames.blogspot.com/p/game-tools.html

http://www.nanny.net/blog/10-ways-to-teach-young-kids-to-wri...

Not sure how much I can demo of these, but at the very least, can talk about them and send them home w/ a URL of a site that I'll throw up to post and summarize these URLs.

I wouldn't mind seeing a live demo with Scratch if you can get your hands on a projector. It's a bit hands on but I think it's your best bet.

What I would do is, I would spend 5min giving a brief overview of what you do, then 25 minutes doing a live demo with Scratch.

You can have a basic plan in mind and then call on random kids. Ask them stuff like "ok, we have this person... should we make him jump up and down?", stuff like that.

Then go through the rules of what needs to happen to make it jump and down and eventually close the session tying in that you give a computer instructions to create things and solve problems, etc..

If done well I think you could motivate them.

I think I would talk to them about what the work is like behind the scenes. Coding is a lot like coming up with a recipe. You have to think really hard about what goes into a cake and when, or else when someone tries to follow the recipe the cake will burn or will taste wrong.

But computers can't think, so you have to be really specific. If you need flour for your recipe, you have to tell it where to get the flour, how to open it up, and how to measure it. You need to tell it how to mix everything together and bake it so you can eat it in the end. But the best part is, even though coming up with a recipe for vanilla cake is really hard the first time, once you have that, it's easy to come up with chocolate cake, or a really big cake for a birthday party or cupcakes you can put in your lunchbox. So you have to learn a lot about cakes upfront, but then you can make all kinds of different cakes- cakes that say 'Happy Birthday' or 'Thank You' are pretty similar to make once you know about cakes in general.

Pretend to be a robot. Have a kid "program" you to do a simple task, like drink a glass of water (maybe filled with confetti), by giving you commands to move your arms and legs.

You will end up dumping the glass of water on yourself, for sure.

This isn't about web programming per se, but it is about breaking a complex task into simple, clear steps. This feels age-appropriate for six year olds.

A robot demo would be my choice. You need to have a machine, a program they help construct, and a simple goal. The program needs to respond to observed state and make decisions (umm... that means an if statement). There can be all sorts of hidden mechanism, but the exposed mechanisms have to be very simple and clear.

You need to actually have a program and a machine to run it on because the magic comes from having the abstract algorithm they help construct run without human intervention. That's the take-away from the whole exercise.

You will be surprised how much 2nd graders know. They are from the generation who knows how to login to a laptop and find their favorite videos with no help from parents. And when you get stuck playing a game on your smartphone, the quickest and most correct answer usually comes from asking the local 2nd grader.