

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

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?<p>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.<p>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.<p>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.<p>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.<p>What have you guys seen that would be good to share at this age? What suggestions do you have?<p>If it matters, I have 30 minutes or less to talk to them.
======
bird_in_hand
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.

------
drallison
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.

------
sogen
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.

~~~
jader201
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...](http://www.nanny.net/blog/10-ways-to-teach-young-kids-to-write-
computer-programs/)

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.

~~~
rartichoke
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.

------
IvyMike
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.

------
geichel
It's your enthusiasm that they will pick up. More so than any resource you can
direct them towards. It's your attitude and charisma which will affect their
attitude towards coding.

At that age LightBot is the best resource:
<http://www.addictinggames.com/puzzle-games/lightbot.jsp>

------
jamesseattle
Try LOGO. <http://en.wikipedia.org/wiki/Logo_(programming_language)>

