51 comments

[ 5.0 ms ] story [ 97.0 ms ] thread
Looks like the site is down right now. I'm getting a blank page.
Yeah, sorry about that. The good old Hacker News effect. I'm working to get it back up.
(comment deleted)
can confirm the original link is back working now
server beefed up, should be ok now.
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.

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.
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/... ($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.

My wife has an iPad 3, but I have a Nexus 7, any similar tools for that? Anyone?
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.

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!
Check out the Nabi 2 pad. Just bought one for my 5 year old and it's really nice. It's android based and made for kids and a lot cheaper than an iPad, it was roughly $200.
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...) 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 :)
And by survived, I mean when we take it out of the case and wipe off all her sticky fingerprints it looks brand new.
She is too young I suppose, but this tool has been getting some exposure recently (create games on the PC for other platforms, incl. iOS and Android)

http://gamesalad.com/

Cargo Bot looks great, thanks! Trying it tonight with my son.
I might have to give this a go, given that "Computer Studies" these days doesn't seem to teach children to program any more...
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.

It was some good bonding/educational time. She spent an hour sat on my knee playing around with this.
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.
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
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.

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.

you seem to imply that algebra isn't fun. some people enjoy it....
Some being the key word. And also the age is an important factor too.

I enjoyed it too, my only objection is that it might actually put them off entirely instead of making them love it if it's presented to them when they're not ready (and I think 4-5 is too young).

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.

:) That sounds great to me! Thanks for taking the time to write it down.
Agree 100%, especially with rule #1.

I typically take the Feynman route... http://thenearbypen.blogspot.com/2009/11/feynmans-father.htm...

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

When I got to college, the thing I really, really wish my family had pushed me towards at a young age was music. My roommate was a music major and while he later focused on engineering, his musical talents were the coolest thing in the world for his social life.
That's a good idea. I feel one of the biggest reasons I did as well as I did in grade school history classes was how often I played Age of Empires II and Civilization III. The in-game manual for Civ was particularly interesting, since every unit and mechanic also had a second, historical article covering that topic. It was almost like a subset of Encarta.
Test your theory. Teaching methods can be a crap shoot. What seems like it should work sometimes doesn't, and vice-versa. And it varies across groups. Your idea sounds like a good one.
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

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.

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.

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' ! :)
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.
Is there a setting to change the UI to English? I can muddle through a few things but I feel I'm missing out.
Yeah, click on the big red spot in the top left corner. Go to settings. It's the first drop-down box.
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.
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.

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 :)

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.

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... : aff) that allowed small sets of serialised instructions to be entered. Robosapiens are probably the modern equivalent.

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!

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.