
Teaching My 5 Year Old Daughter To Code - gkwelding
http://www.in-the-attic.co.uk/2012/10/04/teaching-my-5-year-old-daughter-to-code/
======
moistgorilla
Has anybody considered the idea of stealth teaching young kids rather than
forcing them to memorize things? Imagine that instead of watching useless
cartoons kids where playing games like this (robomind) and or dragon box.
Maybe throw in some strategy games that tell accurate history of the world and
some economy games. I just feel like this would be extremely effective in
teaching younger minds.

~~~
harryf
I've tried various means of getting my kids (both under 10) programming and
the fundamental hurdle is they don't want to sit at a keyboard long enough to
make any progress. 15 minutes is about the limit for attention - if there's no
reward, in terms of achieving something, it won't work with kids under 10 IMO.
The only successes I've had are Cargobot - the iPad game and
<http://drtechniko.com/2012/04/09/how-to-train-your-robot/> \- this is great
as its programming without needing computers

~~~
Sakes
I think you are correct about the short attention spans and need of quick
rewards. Here is my strat to combat it.

My Son is 2 yrs old, and I want to start teaching programming at 5.

2-3 work on reading 3-4 work on basic math 4-5 work on basic algebra (w/tools
like dragon box of course)

5+ start programming strat \- find an open source game \- start playing it
with my son \- after a while start modifying the code with my son

To sum it up in one sentence... get your child emotionally invested in the
environment before trying to show him how to manipulate it.

~~~
pooriaazimi
I apologize beforehand because it's none of my business, but I must say that
perhaps that's really not such a good plan. Life is short, but not (hopefully
for your son) _that_ short that you want to teach him algebra before the poor
boy is even 5!

It might backfire. In many (but not most) cases the child actually gets to
resent this kind of "education" instead of loving it.

It's great to want them to love reading books, love mathematics, love music,
love science and encourage thinking, but a life-long passion for these _good_
things is only guaranteed if _they_ choose them.

Postpone your plan 3 years (5-8 instead of 2-5) and IMO it will be 10 times
better.

~~~
Sakes
I think your concerns are valid and no apology is necessary but it is
appreciated. What I did not get into in my original post is how I am currently
integrating the teachings into his life.

Rule #1 for me is to never assume what my child is capable or incapable of
learning.

Rule #2 do not force learning and figure out how to make it enjoyable.

I have already started teaching him how to read. Most mornings I ask him if he
wants to play letters. If he says no we do something else. If he says yes I
practice with him. It started out learning to recognize the word CAT. After
one week it turned into learning about 12 words. Now it consists of practicing
his vowel sounds. Typically we play this game for about 5 minutes. I always do
this in the morning because that is when he is the most open to learning. We
use a dry erase board so somewhere around the 5 minute mark it degenerates
into doodling pictures of cats, dogs, mommy and daddy. Sometimes he wants to
try and trace the letters on the board. The best part is, even when letters is
over and we are drawing, he is still learning. So I do not believe that I am
in danger of turning him off to the joys of learning.

He is already playing dragon box. He can play up to the 13th level by himself
at which point he starts asking daddy for help. He usually asks for daddy's
phone about once a week to play dragon box. His favorite part is when the
dragon gets bigger. Then he yells "It got bigger daddy! :)"

Assume nothing, try everything and you will discover amazing things.

~~~
notlisted
Agree 100%, especially with rule #1.

I typically take the Feynman route...
[http://thenearbypen.blogspot.com/2009/11/feynmans-
father.htm...](http://thenearbypen.blogspot.com/2009/11/feynmans-father.html)

You'd be surprised how much of the 'complicated' stuff sticks, and comes back
at a later time when they have an Aha! moment and it all clicks.

By the way, I've learned sooo much doing this, e.g. I've recently discovered
that Pluto isn't a planet anymore... :p

------
jbattle
Another nice one for kids ... <http://research.microsoft.com/en-
us/projects/kodu/>

VERY visually interesting and easy to make things happen

Only runs on xbox and windows

~~~
tucif
I used Kodu with kids between 5-9 years on a summer camp, they caught up very
quickly. The interface was pretty cool and straightforward, they loved being
able to modify the terrain.

I always told them like: "Kodu is hungry and wants to eat some apples", or
"can you help Kodu find X", etc. Kodu (the robot) became kind of a
character/friend they empathized with, which eased having their attention and
interest.

Only downside I saw was its cpu and memory consumption.

------
Brajeshwar
You should check out Scratch too. <http://scratch.mit.edu/>

------
cinbun8
I tried to teach my nephew to code with python. He is 7. It didnt stick on the
first attempt. However when I showed him how to use a for loop, he printed a
multiplication table, turned around to his mom and exclaimed 'homework done' !
:)

------
SamuelMulder
As other comments have mentioned, Scratch is great for younger children. I've
had some success teaching basic Scratch concepts to 5 year olds, although they
vary a lot in willingness to play with it. If nothing else, showing them the
cool set of sprites and showing them how to make fun backgrounds will keep
them entertained enough to start introducing programming concepts.

It helped that I was working with a group, so the kids having more trouble
could see the neat things some of the others were doing to get them motivated.

By 7, they should be able to work with pretty much all the fundamental tools
in Scratch and you can start introducing them to higher order constructs.

I've found that for young kids the social aspect can be very motivating. If
she has friends of a similar age, get them all started on it and they'll soon
be showing each other what they come up with. If that doesn't work, then you
provide the social reinforcement :)

~~~
drbawb
Ditto for the social aspect.

For me, I was a bit older [6th-8th graders], but my social experience was
FIRST Lego League [FLL].

Basically, the FIRST robotics competition also sponsors competitions for
middle schoolers to build LEGO robots using the Mindstorms kit [when I did it,
it came with the yellow RCX "brain", now they use the NXT and some more
advanced sensors/motors].

The social aspect helped bind our team's programmers & "hardware engineers"
together. I was always terrible at building things w/o direction, and some
kids weren't great at programming. However, when you all have to work
together, you start looking at each other for guidance.

Seeing the robot take shape eventually led me to learn about gearing and
transmissions.

Other kids weren't great at programming, but when you see your hardware do
wildly unexpected things, you stop and ask "woah, wait, why did it do that?
[programmer], show me why it did that!" -- When they see their hardware
misbehave, they start to learn what the power of software really is, and vice
versa.

That and it's a great precursor to FIRST, which I regrettably never got to
participate in.

------
notlisted
There are two very nice programs on the iPad which my 4yo likes:

Move the Turtle [http://itunes.apple.com/us/app/move-turtle.-programming-
for/...](http://itunes.apple.com/us/app/move-turtle.-programming-
for/id509013878?mt=8) ($2.99)

Similar to the Logo programming language another commenter mentions. Starts
simple, but goes into loop solutions a little too quick.

Cargo Bot (free!) <http://itunes.apple.com/us/app/cargo-bot/id519690804?mt=8>

Cargo Bot is much more visual, little or no text, but I think they dive into
recursion much too fast (for 3 star solutions that is).

Bee Bot (free!) <http://itunes.apple.com/us/app/bee-bot/id500131639?mt=8>

Just discovered, also for the really little ones. No comments yet.

~~~
gkwelding
My wife has an iPad 3, but I have a Nexus 7, any similar tools for that?
Anyone?

~~~
notlisted
I'm far from an Apple fanboy, have an Android phone, but... the best
investment I've ever made is an extra iPad for my kid.

There's sooo much good stuff for the little ones on the iPad that's really
educational. Android is simply lacking in that respect (for now).

Case in point, I downloaded some apps, and without any intervention on my part
she taught herself how to write letters (little skywriter), do simple math
(monkey school math), work with sets (firstapp.com peeps), draw lovely artwork
with commentary (doodlecast), learn about physics (amazing alex) etc etc.

Nothing better than having her come over to me and "explain" how things work.

If you think an iPad is going overboard in terms of expenses, a lot of this
stuff works on the iTouch as well.

~~~
gkwelding
she's had a touch screen device for a few years now, something called a
LeapPad which is designed for children. I think soon though that'll get passed
down to my youngest who's currently 2, and she can have a cheap tablet of some
kind as she's quite clumsy so wouldn't trust her with anything like an iPad!

~~~
infinite8s
My 2.5 year old has been playing with our 1st gen ipad since she could pick it
up. We just got one of the original Apple black rubber cases
([http://www.amazon.com/Original-Apple-CASE-ZML-MC361ZM-
Packag...](http://www.amazon.com/Original-Apple-CASE-ZML-MC361ZM-
Packaging/dp/B003CGMQ38)) and it's survived all the times she's dropped it
(only being able to drop it from a height of 2 ft helps reduce impact forces
too :)

~~~
infinite8s
And by survived, I mean when we take it out of the case and wipe off all her
sticky fingerprints it looks brand new.

------
srikrishnan
I believe the right mental model is the first step towards understanding
coding or computers. The easiest way to start for a kid might be with
something that interests them - like creating shapes/graphics. (I am grateful
for my school introducing me to programming via logo when I was nine)

I've been at it 2 weeks now trying to teach my grandma how a computer works.
She now understands how a processor works, what is a software program, etc.

I made my grandma dictate code to make me dance giving her exactly 4 commands
(moves) I could take (I am a 2-bit processor ;) ). We had fun! Ha. So she
coded. No computers. I could also explain processor speed, n-bit processors,
different instruction sets, instructions that need operands, etc. Of course I
used none of these words.

------
pbhjpbhj
I've been trying to get my lad in to Scratch.

The OP's app looks to be like Logo Turtle which was taught to me as a child in
the UK c.1984. Indeed IIRC most schools in my area had this and some [later?]
had a real-life 'turtle' that you could move around (connected by a long
Centronics cable I think).

There was a toy called Big Track
([http://www.amazon.com/gp/product/B0035IZ85G?ie=UTF8&camp...](http://www.amazon.com/gp/product/B0035IZ85G?ie=UTF8&camp=213733&creative=393177&creativeASIN=B0035IZ85G&linkCode=shr&tag=flapjacktasti-20&qid=1349389623&sr=8-1&keywords=big+track)
: aff) that allowed small sets of serialised instructions to be entered.
Robosapiens are probably the modern equivalent.

------
gkwelding
The first comedy response to this article:
[http://betabeat.com/2012/10/unsuspecting-5-year-old-girl-
bei...](http://betabeat.com/2012/10/unsuspecting-5-year-old-girl-being-
stealth-prepared-for-a-grueling-life-of-coding/)

------
tocomment
I remember we had that turtle system (logo?) in third grade.

I never once realized I was programming! I thought it was just a dumb game to
make a turtle move. And I remember always wishing I could learn how to program
a computer at that age. If they had told me that's what I was doing I probably
would have been more interested.

I guess the moral is to not abstract too much of the system from the child.
Maybe they want to see variables, and print statements.

~~~
gkwelding
Good point but I think for children as young as 5 the RoboMind system works
very well. Most kids struggle to read/write at that age and a true programming
language would probably be a bit of a struggle.

------
bsaunder
I think visual feedback is very important in teaching kids how to program.
Several months ago, I installed Alice (v2.2) (<http://www.alice.org/>) for my
kids to explore. They generally enjoyed it but the UI was a bit cumbersome in
some respects. Looks like there's a new version that seems worth upgrading to.

------
ph0rque
Neat! Both my daughters, four and six, have been asking me when they can
program like daddy :).

The six-year-old can read, but the four-year-old cannot. I'm looking forward
to trying this later with the older daughter.

~~~
gkwelding
It was some good bonding/educational time. She spent an hour sat on my knee
playing around with this.

------
freehunter
Looks like the site is down right now. I'm getting a blank page.

~~~
gkwelding
Yeah, sorry about that. The good old Hacker News effect. I'm working to get it
back up.

------
gadders
I might have to give this a go, given that "Computer Studies" these days
doesn't seem to teach children to program any more...

------
delinka
Is there a setting to change the UI to English? I can muddle through a few
things but I feel I'm missing out.

~~~
gkwelding
Yeah, click on the big red spot in the top left corner. Go to settings. It's
the first drop-down box.

~~~
CapnGoat
Does that actually work for you? I've been setting it to English and
restarting the app about 5 times now and it still launches in Dutch.

~~~
notlisted
Use the keyboard. Mouse fails for me as well (Mac).

Eye -> Instellingen -> Taal -> Click on dropdown to open it. Scroll UP to
English (silly Dutchies) -> Press Enter

You may also want to adjust the Scriptdefinitie field to en in a similar
fashion. I left it on nl for the samples, will update it later once I've
checked them out (and not a problem since I'm Dutch anyhow).

I think this tool fails a little because of the language dependency. Move the
Turtle is more language independent, and Cargo Bot (links above) needs no
language at all. Actually, I _LOVE_ cargo bot myself, very challenging.

------
p_sherman
Why would you want to force something on a child that young? Why would you
want to basically indoctrinate your child with something?

How about, instead, developing reasoning skills and the ability to make their
own decisions and then actually letting them decide what they want to do?
Crazy, I know!

~~~
notlisted
You underestimate children and you underestimate the contribution programming
(structured thinking) can make in a child's development. It's all about
exposure... if you don't show them anything, they won't discover what they
like.

Do you have children? I get the feeling you're talking from a theoretical
perspective here... They're sponges. I say we "soak 'em" don't let them dry
up.

