Hacker News new | ask | show | jobs
by vivekian2 3955 days ago
Nice!

A bit off-topic here, but still related I guess. I have a 1 year old daughter and I keep wondering what would be the right time to introduce her to computers and programming in the future?

I have always thought that she should spend time reading books, playing in the backyard and lego before she delves into computers.

Have any other programmer parents thought about this as well? Or any other experiences on how they introduced programming to their kids?

6 comments

I've tried introducing my son to Scratch (and one other language - it was a long time ago so I forget), and it was hard to keep him motivated without a meaningful sense of forward progress.

A class provides better structure with an end goal in mind. We enrolled him in several "make a game" camps that I think he enjoyed more than open-ended exploration.

These days, he takes CS courses in high school and enjoys them, I think getting them into programming at a young age is fine but not a necessary condition if you would like them to have it as a skill later in life.

As a parent, I'd say to introduce them to many different sorts of experiences and indulge them if they show interest, and be willing to let them change their mind. Be interested in what they do.

One of the more valuable things I've found when teaching is to always establish "the path forward". I wish that the CS Ed community had more established paths that I could share out. It's easy to point people towards CodeCademy, for instance, but I don't always have a glib answer after that.
Agreed. When I started learning to program around 12, I was very motivated by what I wanted to make, not follow some bland tutorial ala CodeCademy.

From my experiences in university so far (Comp Sci), this experience seems to be pretty rare. If I ever have kids, I hope to be able to guide them in a similar way I learned as a kid. If they want to mod Minecraft, sure, let's start with that and not a boring tutorial for TodoApp#5034.

What you say about Minecraft rings true. I've been trying to get my 12 year old brother into programming for a while, never really succeeded. Today I setup Forge and taught him how to make an item for Minecraft. That got him excited about programming (or at least what one can do with it) more than anything else.
You should take a look at Minetest: http://minetest.net

It's a bit less polished, but far, far better when it comes to hacking. I found it significantly easier to create a mod for Minetest than to use a mod in Minecraft. Once my kids grasped the idea that they could add whatever items and behavior they could dream up, they really took a shine to it. The Lua coding used is very approachable.

That does actually seem like it might be better, I admit Forge and Java would probably seem quite daunting to someone new. I'll see what he thinks!

The only issue though, is that I think a lot of his motivation stems from potentially sharing what he has made - pretty much everyone his age has a copy of Minecraft.

My oldest daughter is 6. I introduced her to programming by letting her type in a full-screen emacs buffer with large letters. We'd change the colors, make a "rainstorm" or "snowstorm" (fill the screen with '/' or '*'), type words together, etc., and for a while she had a notebook with commands like "M-x set-foreground-color" listed in it.

My youngest daughter prefers to rip the keys off my laptop, so she gets to do less typing....

This is pretty inspiring,love the programs the kids invented on their own :D

http://drtechniko.com/2012/04/09/how-to-train-your-robot/

I have a 2 year old and I'm not sure, but she's definitely not ready :) I think we're talking 4-5 year old at least to start introducing the concepts, then I'm guessing 7-9 to start doing some programming.
I have a 2 year old, and we play Minecraft, and I'd say we've started with 'concepts' already.

Simple things, but things like make a switch that turns on and off a lamp or opens a door. Or simply building larger things out of smaller things.

I mean programming is really a matter of logic and composition. Something like "This switch will turn off all of the lights, but these switches will turn on and off individual lights." is a sort of "If (mainswitch is on) then {lights settings is the same as its switch} else {light is off}"

Apart from some pretty simple logic, it's really just composition. A turing machine is comprised of some really simple functions, and apart from that it's just a matter of understanding how to compose those into more complex ones, and understanding programming is just recognizing the processes of breaking down those complex compositions into simpler ones.

Definitely agree with this. My 1 year old will simply sit on my laptop and bangaway at the keyboard.
As a parent with a firstborn of a same age, I have been wondering similar things :-)
Boardgames might be an activity with some cross over. Whether you are programming or figuring out the best track for your railroad in Ticket to Ride, you are manipulating a set of rules to do your bidding.