

Programming Language For Youngest Kids - mgenzel

I want to teach my son (4.5 years) "programming" (obviously, too early for general-purpose programming, but a limited-environment language can certainly be taught). I'm considering writing my own little language/"interpreter". Is there anything already out there that's worthwhile? The options I've seen is Scratch (8-year+) and Logo (seems boring to me for this age). Some others are listed here http://en.wikipedia.org/wiki/Educational_programming_language , I haven't checked all of them out though (e.g., Karel looks intriguing).
======
mbrubeck
I've had some good times playing with Scratch with my 3.5-year-old. We made
some games where she can press buttons to make characters on the screen move
around and do things. I show her the list of sprites and let her choose some.
She decides what they should do ("I want the cat to roll over") and I write
the code, with feedback from her. I guess I'm really training her to be a
development manager. :)

I haven't tried it yet, but the video presentations I've seen of Microsoft's
Kodu look really fun: <http://en.wikipedia.org/wiki/Kodu>

She also likes TuxPaint (<http://www.tuxpaint.org/>) and other drawing
programs. It was SuperPaint on the original Macintosh that first got me into
computers...

------
ElliotH
I personally think that the best computer related education you can give a
child of that age is to get them to understand that in almost all cases it is
safe to 'fiddle' with the software on computers. I think I owe a almost all my
knowledge of computers today to my parents who allowed me to repeatedly break
the software running on the family PC from DOS to early Windows until I
finally got my own.

Almost everyone I know of my age who can program with any level of competancy
are the people who were given 'free reign' over a computer fairly early in
life. Whereas the people who are less skilled are the people who were always
told that if they touched the wrong thing they'd break it.

------
shawndumas
My 8 year old is enjoying Scratch immensely. (As am I.)

Without any instruction, apart from two tutorials from YouTube, he has made a
number of exploratory programs. I cannot recommend it more highly then seeing
him dancing in delight as he showed his mother how the flying bit of doodle
(made with the in-skin paint widget) that shoots from the mouth of the cat
makes the stick men 'ghost'.

He set up broadcasts, loops, events, and keyboard control, all on his own

------
lazugod
This might be a smidge above a 5-year-old's vocabulary level, but you should
give Inform 7 (<http://www.inform7.com/>) a look. It's designed for writing
text adventures like the Zork series, but unlike almost every other
programming language, it uses almost entirely natural English syntax.

The object model

    
    
      A barrel is a kind of supporter.
      The blue barrel is in the garden. The shears are on the blue barrel.

and CLI model

    
    
      Frowning is an action applying to nothing.
      Understand 'frown' as frowning.

and rule-based syntax

    
    
      Instead of frowning when the Queen is in the garden:
          say 'It would be improper to scowl at the Queen.'
      After frowning when the player does not carry the shears:
          say 'Your inability to do gardening makes you quite grumpy.'

are all easy to understand.

The result is always readable, even to someone unfamiliar with regular
scripting languages. The IDE is also full of examples, though they are
somewhat verbose.

------
Dobbs
If you have an xbox or a windows computer check out
<http://fuse.microsoft.com/kodu/> it is a really simple game development tool.

It is a visual event based system.

You have a queue of events. You then define relationships. Events at the top
of the queue take priority over items lower on the queue. There is also the
ability to define multiple queues and switch between them.

Relationships are simple but can be used to build complex systems.

