

Ask HN: How to teach my young children to program? - SeanDav

I have 2 young children (below 8 years) and would like to start teaching them programming skills. They are already fairly competent using a laptop for navigating, playing games and watching online TV/Videos.<p>I personally got started hacking around with a Commodore VIC-20 but there is nothing as basic (excuse the pun) as this, which would create a nice gentle learning curve, around these days.<p>Really looking for suggestions from others that might have done this or know something about it.<p>I would assume it would have to be an interpreter-like environment, with easy ways to make pretty and interesting graphics/sound effects but some ability to increase complexity to simple game programming levels.<p>Open to all suggestions.
======
joaoheleno
Take a look at Scratch.

<http://scratch.mit.edu/>

------
mryan
My nephew and I have had some success with "Hello World! Computer Programming
for Kids and Other Beginners". Many parts of the book direct the student to
try out the examples in the interpreter, which I think is a nice way of
demonstrating the concepts immediately. It starts with strings and other
basics, and gets gradually more complex. By the end of the book you will have
"written" a basic skiing game with pygame.

[http://www.amazon.com/Hello-World-Computer-Programming-
Begin...](http://www.amazon.com/Hello-World-Computer-Programming-
Beginners/dp/1933988495)

~~~
HardyLeung
I don't like that book. I tried it with my kid (almost 8). The first 3
chapters are okay, but then chapter 4 goes into the discussion about floating
points, integer vs. doubles, integer-to-double conversion, arithmetic
precision etc.

I'd say what the heck? I want to introduce the concept of variables, control
flow, for/while loops, etc. I didn't expect that he has to jump through those
unnecessary concepts to get to the basic.

Granted, the book was written with good intention (father "co-wrote" the book
with the kid while trying to teach him programming), but I thought the book
turned into something else that IMHO is not very good. Perhaps this book is
geared towards older kids, but I think kids (and certainly adults) that are
any older than 8 would have been bored to death by its very slow pacing.

I may try Learning Python the hard way... still looking at it.

------
eedahlgren
I have never tried this, but I do know that children thrive on the attention
that what they're doing is important. Especially if what they're doing
requires hard work. If and when you do find the right environment (one doesn't
automatically come to mind if the Python or Racket interpreters aren't good
enough for you), giving your children little puzzles that you think up and
solve yourself -- so they can come to you for constant hints or suggestive
half-examples -- is important. Your constant interest in their hard efforts
will go a long way.

------
debacle
While bleedingly simple, Code Academy does have a lot of merits.

I find that if my son (8) is on his own, he has trouble making it through
sections, but if I'm in the room with him, he can ask me questions about why
things work the way they do.

In my experience, trying to teach him to program before this year was very
difficult. Kids these days just don't seem to have the patience.

------
sarrazin
Alice <http://www.alice.org/> is a great resource for learning basic coding
ideas in a way that lets you visually see what different logical structures
do. It can be used to create a 3D virtual world, but it also has a view where
you can see just the code part.

------
rbrady
My 6 year old has been learning via <http://hackety.com/>

------
jkeesh
We are working on a site to teach CS to complete beginners (geared towards
high school students), with a focus on providing good personal feedback. We
using some javascript teaching libraries that make it really easy to get
started writing games and animations. We just applied to YC with the idea--got
an interview, but not accepted.

Your kids may be a bit young for this, but if you interested the site is
codehs.com, and you can email me at jkeeshin@cs.stanford.edu.

Quick on my background: I'm a senior in cs at Stanford, and have been teaching
the intro cs classes for three years, and running the main intro class
(cs106a) for this entire year.

------
rms25
A raspberry pi with the appropriate programs installed might be a good choice.
Its what I plan on giving my nephew when its more avialable.

------
karmen
<http://shoesrb.com/>

~~~
karmen
lessons here: <http://hackety.com/>

------
brudgers
Why do you want to teach your kids programming at that age?

------
lifeformed
Lego Mindstorms.

------
sebphfx
I started with Logo Turtle...

