Ask HN: How do I give my son a head start?

70 points by KoZeN ↗ HN
There are few careers around today that wouldn't benefit from the employee having a better understanding of programming and just IT in general.

As well as the fundamentals such as reading, writing & mathematics, I fully intend to introduce my son to computing from a very early age.

I was thinking that I could introduce him to things like BASIC not long after he masters the art of counting to ten but I would love to hear from you guys.

How would you suggest I give my son a head-start in an IT orientated world? He's 6 months old currently so I have plenty of time!

156 comments

[ 6.5 ms ] story [ 317 ms ] thread
If you'd like to give him a head start, give him room to decide what he'd like to do.

Don't limit his abilities, or options.

Perhaps he will not be interested in IT? He could be the man to cure Cancer.

You're absolutely spot on but speak to any scientist or doctor and they will undoubtedly tell you that they would probably benefit from being ahead of the curve from a technological perspective. All of todays innovators embrace technology and all of todays technology require a distinct understanding of computing and/or electronic engineering.
Try to have the confidence that your kid will get to computing technology if they need it.

Your job is to enable them to identify their interests and follow their curiosity. Not so much to direct it.

Agreed. Technology is an end. The means to success in the field (and almost any field) are focus, creativity, determination and optimism. Chances are your affinity for tech will rub off, and it's not exactly an uncommon hobby these days.

Good luck, it's always great to see somebody considering child education.

I came here to say this.

My parents have never shown any interest in IT whatsoever. My brothers, never. Me, as soon as I started messing around with a Commodore-64, I was hooked.

Give your kids the opportunities to explore everything and anything that they can. Something will click, if it's IT, then you can offer your guidance.

> He's 6 months old currently so I have plenty of time!

You do indeed. Don't forget that. You have at least 8 years left before your kid should start doing this kind of thing. Just let him use a computer in a completely natural way, don't force anything on him. Programming is decidedly different from, say, playing the violin!

Also, less importantly, skip the shitty languages phase. It's not necessary to go through Pascal or BASIC before you can get to the good stuff: Python will do from the very beginning.

> don't force anything on him.

This is absolutely true. One of the risks that you take when you have a child is that he'll turn out totally different than you. My father was a farmer, and so we're from basically two different worlds. He could never understand why I wanted to be on the computer on the time, I couldn't understand why he wanted to be outside all the time. But since neither of us tried to force each other on the issue, we got along just fine.

> It's not necessary to go through Pascal or BASIC before you can get to the good stuff:

http://hackety-hack.com/

</blatant-self-promotion>

Certainly, Ruby is a fine first option. I'd recommend any Lisp derivative, or Javascript also.

I see no reason to learn Pascal, or BASIC, nor do I see its effectiveness.

Absolutely. I wrote a post about "Why Ruby?" a little while ago, but almost all of the arguments apply equally well to Python.
> > don't force anything on him. ... Just let him use a computer in a completely natural way.

> This is absolutely true.

I disagree, sort of. I have a 5 yo and an 8 yo. If you let kids use a computer without guidance, they will learn how to use a computer from their friends at school. And what they learn is to fire up a browser (chrome if you've got it, otherwise Firefox) type "<some word> games" into Google and play thousands of really mind-numbing flash games. Go ahead. Try it.

We're talking about two different things. I'm trying to say "Don't force Jimmy to program if he wants to be a football player" and you're saying "Help Jimmy to learn about what he's doing."

I'm not an expert on children, by any means, but I'd agree with both you and myself.

Also, I don't think there's anything wrong with playing flash games.

++ on Python. There is also a nice Python-for-kids textbook for ages 8+ http://www.briggs.net.nz/log/writing/snake-wrangling-for-kid...

And ++ on not letting your own enthusiasm scare him off. My mother started me on piano when I was 2 years and 10 months by playing herself and not letting me play (she already taught me to read music using flash cards). Depending on the kid, reverse psychology works pretty well.

I've always thought something like turtle graphics (e.g. http://www.sonic.net/~nbs/webturtle/) is a neat way to teach kids programming/algorithm basics.

It's simple enough to understand the basics, yet powerful enough to be engaging enough to keep a child's interest, providing them a direct visual output to their 'code'.

I would stay away from the higher level stuff like Visual Basic; there is so much magic going on under the hood that it becomes difficult to really internalize the basic concepts of programming.

We learn what we love. Best way to get him to learn computers is to get him to love computers. You'll be setting him up for a life of social awkwardness and little success in the dating game, but you'll be doing the right thing for him. :)

I would start him on games and other "fun" stuff. Teach him to make his own games via BASIC or some equivalent thereof. If it's fun, he'll want to do it on his own. If you're just shoving it at him and it's not fun, he'll resent it and may even rebel against it.

My parents challenged my brother and me (when we were kids) by limiting our time on the computer, but only when playing games. The rule was essentially this: you can play games for an hour a day, OR you can try to make your own games on the computer for as long as you want. We were naturally engineering-minded and attracted to the magical black box that could do anything, so we took the challenge.
Read to him when he is young, with him when older. It is the most stupidly effective academic intervention I'm aware of.
Agreed and this is something I started whilst he was still in the womb!
I claim that my daughter recognized me by voice at birth when I first spoke to her.
I know that mine did. I used to say "Hi Baby!" to her all the time. When she was born and was upset I would say "Hi Baby!" and she'd calm right down. This worked for 2-3 weeks maybe.
As ridiculous as it sounds, I'm with you on this. I'm certain my little dude recognised my voice when he was born.
My 3 month old daughter knew my voice, but didn't recognize my face when I shaved my beard. She would turn to see me when she heard my voice, but cry when she saw a stranger.

My second daughter easily recognizes her older sister voice at birth. My older one spoke to her constantly in the womb (usually asking her when she is going to come out and play with her). The best way to stop her crying is to ask my oldest daughter to sing to her (works better than my singing/soothing)

My mother says the same about me. She used to listen to a particular song when she was pregnant with me. After I was born, whenever my dad played that song, I would search for the source.
I'm going to get my future wife to put headphones on her belly and play a 24/7 loop of the speech Jor-El gave superman from the movie.

Kid will come up a winner.

Absolutely. Superman didn't even grow up to be a total dick.

Wait.

Wasn't there... Oh right, http://superdickery.com/

In other news, you'd be surprised what supermanisadick.com points to.

This!

My son has grown up in a house of readers and loves to read. He consistently tests above grade level, doesn't have his own computer (allowed to use my wife's occasionally) or TV (only one working TV in the house). Meanwhile, his friend down the street who is a year older and has his own laptop computer, TV, XBox, Nintendo DS, etc. spends his summers in remedial reading classes.

Growing up in a house of readers undoubtedly gave me a massive head start on all of my peers, but I also had my own laptop [1], TV, N64 (it was the 90's), and gameboy and did far above my grade level on reading tests.

If you feel good about not letting your kid mess with that stuff, more power to you, but don't confuse correlation with causation.

[1] Actually I had my first computer, running MS-DOS, well before I could read. That was kind of an exercise in futility though. I did get a laptop later on (elementary school) and I learned and practiced writing HTML on it.

My first computer access was to a DOS machine. I don't think it had any effect on my reading skills, since at the time I didn't actually speak English.
I don't think he intended to imply a correlation. But people do seem to use video games and television as a crutch to keep kids entertained at the expense of more enriching activities.
I think it all depends on if the kid is happy with occasional computer and TV use. Personally I think I would give my kid easy access to the electronic devices they want. If they want to do a lot of reading that's great and certainly encouraging, but there are more paths to achieve similar intellectual curiosity than just reading, computers in general, programming, games, certain TV shows, movies and documentaries.
Agreed. Also, you can start on non-picture books earlier than you think; my dad read "The Hobbit" to my sister and I before I started kindergarten (a little bit each night).
We got "The Chronicles of Narnia" :) I still have lots of fond memories around that series.
Absolutely. Play some soft music sometimes classical, even Enya while pregnant as well, but reading is very important.
If you do just one thing do this.

Encourage a love of books, even if its just the picture books to begin with. Story before bedtime. Feel sad? Lets go read a book? Waiting for mom or dad to come home? Lets read a fun book.

Aside from that I do those large jig-saw puzzles with my daughter and those match the wooden shape to its equivalent spot on the board.

It should all be fun, playful and something you you're happy to do. No one wants to read with a grumpy dad.

It's funny, because that one of the "obvious" things to try that instead shows no correlation with academic performance. At least that's what it's said in "Freakonomics".

Anyway, I'm doing it with my two years and half son. He loves it and helps him to relax and rest(he's very active).

Read to him when he is young, with him when older. It is the most stupidly effective academic intervention I'm aware of.

Actually evidence suggests that this is not true. Energy spent reading to kids helps a bit, but what makes a long-term difference is to be seen frequently reading for yourself. Otherwise you wind up in the trap that the kid learns that reading is for babies.

You are right that that is how you get a child to like reading when they are older but reading to them and with them is also a great way for them to learn especially since they are interacting with a parent, while picking up language cues and other such things.
Yeah I have parents who, like all good parents would say that it's good to read, but didn't do a lot of reading themselves.
I would definitely teach 3yr & 1yr a lot of Mathematics & Finance. Flashcard and iPhone apps definitely helped.

IT skills become more of a necessity once they hit school. I see Programming as a form of art, unless you are interested in it. It's not going to be of any interest to them, like it is to me.

Finance? I'm extremely skeptical, but my time on HN has taught me to be curious instead. Expand?
I would think that giving my some basic finance knowledge would be beneficial to them in the future.

- like saving up for a rainy day.

- saving a small amount like $1 a day = $365 saved a year.

- how compound interests work.

Having started young, they will be money wise when they grow up and not having to work for every pay check.

I'd be careful in this line of thinking, if I were you. Projecting wishes and expectations onto one's children is common, and counter-productive.

I was very excited when my daughter, around the age of 10, showed interest in programming. I showed her Scratch (from MIT), but I think my enthusiasm scared her off-- and she dropped it quickly. I regret that I didn't play it a bit cooler.

Enthusiasm can be shown in several ways. One interesting tidbit from psychological research is that praising children's results often leads to their own paralysis. Instead, parents should praise how hard they tried.

See Berkeley's Half Full blog:

http://greatergood.berkeley.edu/raising_happiness/post/the_r...

I'm familiar with that research, and agree with the techniques.

In this case, though, it wasn't that I praised her-- just that I got excited about how cool Scratch was. Suddenly, it wasn't that cool to her anymore.

Similarly, she also hates the Beatles. I mean, how is that even possible?

Yes, I tried to do the same, with my youngest when she was about 13 (and with Perl), but she quickly dropped it all, due to my enthusiasm.
I did the same thing, and my son was around the same age.

Now we just cultivate whatever interests he has, and try our best to answer any questions he has. He's interested in marine life, but is a bit too young to help out at the Seattle Aquarium. We've enrolled him in a few robotics classes and a programming class that used Game Maker [1]. He loved the Game Maker class, I'd bet that it was a gentler introduction than what I tried with Scratch.

FWIW, he's into video games too (we have a 360, NDS, Wii, PC), but we limit his time and prioritize digital entertainment last.

[1] http://www.yoyogames.com/make

Baby Sign Language can jumpstart learning and communication.

The best videos (IMHO) are from "My Smart Hands" at http://mysmarthands.com/

The founder has free videos on YouTube, an iPhone app, and a new Android app (which I use).

Baby Sign Language can jumpstart learning and communication.

Is there any evidence that this actually has any benefit?

Children are able to gesture long before they have the physical skills to speak. So, if you teach them some basic signs, they'll be able to communicate their needs months before they'd be able to speak them. As for whether it helps learning in general, I don't know.
Yes.

Dr. Marilyn Daniels at Penn State University has found that hearing students in pre-kindergarten classes who receive instruction in both English and ASL score significantly higher on the Peabody Picture Vocabulary Test than hearing students in classes with no sign instruction. Her studies demonstrate that adding visual and kinesthetic elements to verbal communication helps enhance a preschool child's vocabulary, spelling and reading skills.

This citation and many more studies are listed on http://sign2me.com/index.php?option=com_content&task=vie...

The most recent meta-study (as far as I know) has this to say...

Doherty-Sneddon concludes by arguing there are three different levels of support for the benefits of baby signing: indicative, if not evidentially strong, evidence from baby signing research; related evidence from deaf sign and hearing gesture/language research; compelling anecdotal support from families who have embraced the approach.

From http://en.wikipedia.org/wiki/Sign_language_in_infants_and_to... Wikipedia has a Daniels, M. (October, 1994). The effects of sign language on hearing children's language development. Communication Education, 43, 291-298.

Daniels, M. (1996). Seeing language: The effect over time of sign language on vocabulary development in early childhood education. Child Study Journal, 26, 193-208.

Daniels, M. (October, 1994). The effects of sign language on hearing children's language development. Communication Education, 43, 291-298.

Daniels, M. (1996). Seeing language: The effect over time of sign language on vocabulary development in early childhood education. Child Study Journal, 26, 193-208.

Other researchers have found evidence that sign language supports early literacy skills.

Felzer, L. (1998). A Multisensory Reading Program That Really Works. Teaching and Change, 5, 169-183.

Wilson, R., Teague, J., and Teague, M. (1985). The Use of Signing and Fingerspelling to Improve Spelling Performance with Hearing Children. Reading Psychology, 4, 267-273.

Hafer, J. (1986). Signing For Reading Success. Washington D.C.: Clerc Books, Gallaudet University Press.

Koehler, L., and Loyd, L. (September 1986). Using Fingerspelling/Manual Signs to Facilitate Reading and Spelling. Biennial Conference of the International Society for Augmentative and Alternative Communication. (4'th Cardiff Wales).

Dr. Marilyn Daniels at Penn State University has found that hearing students in pre-kindergarten classes who receive instruction in both English and ASL score significantly higher on the Peabody Picture Vocabulary Test than hearing students in classes with no sign instruction.

Thanks for providing these articles. I don't doubt that children can learn to sign before they can learn to speak (not a big leap considering that babies can understand language before they can move their vocal muscles well enough to produce it), or that they'd be happier being able to communicate earlier.

What I do doubt is that this has any long-term effects on their development, above and beyond the effect of learning more than one language. In any of the longitudinal studies, do they control by having a second group of infants learn two spoken languages?

Anecdotal, I know, but the smartest guy I know (13 courses one semester at Waterloo, qualified to major in CS, actuary science, accountancy, pure math with minors in psychology and business. Currently working on his law degree, actuary tests, and CFA (certified financial advisor) while working full time as a chartered accountant) was taught baby sign as an infant. His younger brother was not. His younger brother is so much more creative and broad thinking whereas the eldest is a Spock like linear thinker. Trade offs.
1. Restrict TV consumption - help him become selective and not a slave to that time waster.

2. Play music - it probably does not matter what type.

3. Think very hard about schooling.

when you say "think very hard about schooling" - are you saying you should really focus on it or think very hard to delay schooling?
Huge supporter of #1 - Around the start of high school my Dad cut the service provider. I thought it sucked for a while, but in the end I realized I was much more productive, and was generally more interested in activities / school.
I owned a kids toy/developmental products company, be careful not to over stimulate your child. Over stimulation is just as bad as neglecting your child. This is the time to introduce your child to multiple languages, just have them playing in the background. Remember children are just large neural networks that work by recognizing patterns.

Don't focus on the subject or topic as much as the problem solving process. Children learn through pattern recognition until they have mastered language which leads to thought.

Remember children have short attention spans so only have them work on a subject/topic for a brief period or the children will develop a negative connotation with the subject.

A few people have mentioned mobile applications they are awesome. I developed a few apps that have been strongly adopted by organizations that work with developmentally challenged children. The simplicity and interactivity really makes a difference.

Kids can start programming a lot earlier if their introductory experience really minimizes frustration and time to gratification. Python is probably a good starting language for teenagers, but for pre-teens, who are much less cognitively mature, you'll have a lot more luck sooner if you introduce them to an IDE with great code completion and the power to make a GUI. Obvious candidates are Visual C# and Visual Basic, but I would strongly consider Adobe Flash as well. Children love making animations with Flash, and Flash's scripting language, ActionScript, has all of the features of a full-fledged programming language.

You can start even younger with HTML. HTML isn't programming, but it's relevant training for a developing brain. Balancing brackets, thinking logically, paying attention to detail, and the "write, run, debug" routine are all present when writing HTML.

My path to programming started when I discovered a copy of FrontPage Express (an old WYSIWYG HTML editor) installed on my computer. I quickly went from FrontPage, to HTML, to Flash/ActionScript, to Visual Basic, to C++. Obviously, that isn't the logical way for a teenager or an adult to learn programming, but for a child, it was incredibly natural.

C#? My first intro to programming was logo, and im recommending it as a language for small children any chance i get. For older kids, ruby, python and (why not?) scheme are good choices. I remember the day my teachers replaced logo with pascal with dread. Don't do that. I lost interest in programming for about 2-3 years do to that, and had to rediscover my love with python much later.

But looking back, i believe languages don't mater that much, as long as the kid's having fun, you can have fun with C++ even, if it is introduced to you properly.

I agree Flash is a great tool to teach kids. Actionscript is a great foundation language. I've taught some primary school kids Flash before and some of them made some pretty impressive games.
Here is a good approach: Answer every question he asks. Help him find his interest. And as Patrick says, read to him now. (Just not Knuth).
I'd suggest giving them your old iPhone/iPod touch/Android device. My son has been playing with those since he was 1 1/2, and now (2 1/2) he is an expert at the interface. It's quite a testament to the UI to see how well a 2 year old can move around an iPhone. Then, he'll be able to "interface" with computers so much easier. They won't be this foreign thing, they'll be what shows them music videos.

From there, you have plenty of time. I know my dad started me out with BASIC when I was ~5: 10 PRINT "HI DADDY" 20 GOTO 10

After that, I didn't touch code until I was 13. So ultimately, my advice would be to not push them. If he wants to learn, he'll learn.

Just make sure they are familiar with technology, and you'll all be fine. Aside from that... read to him. Now. They pick it up quickly if you keep doing it consistently.

But really, don't worry about it and let him be a kid. The inner geek will come.

This book, "Hello World: Computer Programming for kids and adults" http://www.manning.com/sande/ might be a good place to start once your child is older. It's written by a father and son and documents his son's foray into programming using Python. I believe his son was 10 at the time.

Personally, my parents got me an Intellivision at the age of 6 and I played it every day. By around 4th grade, I wanted to start writing my own games so they got me a Commodore 64 and a couple of books with game listings in Basic and I started having more fun writing games than playing them.

Reading and Flash Cards. A lot of teachers hate flash cards, but the confidence to do the simple math allows for learning the hard stuff. Never underestimate the value of a good foundation. Learning how to actually use a dictionary might not be a bad idea.

[edit] when the kids old enough: legos - lots and lots of legos

Another random thought, though probably for slightly older kids: getting into programming through game modding. Starcraft 2 editor, WC3 editor, XML editing/modding, eventually Python editing, etc.

The bait is the chance to tweak and modify your games to make them more fun and personal for you. Could be a fun and pain-free segue into programming proper.

Haha, that's how I got one of my first introductions to programming too, through the Starcraft map editor. It's kind of fun learning through a game.

Many years later, for a group assignment on entrepreneurship, we submitted a custom map in Warcraft III that simulated competitive strategies among startups. We basically played Warcraft III in class while our lecturer was smiling approvingly. One of the most fun lessons in university..

I would just forget about computers and programming completely and focus on the building blocks by a playful approach to solving day-to-day problems with logic and reasoning. Like how do we decide which things belong together? You can also play progressively more complicated iteration games like for-each-time-this-happens-let's-do-this-this-and-this! Or make complicated rube goldberg devices out of household objects and then debug why they don't work.

Computers would be just a distraction from the real work of building a foundation in cognitive skills.

Logic & reason are the foundation for almost everything we are hoping to teach him but as far as technology is concerned we really want to encourage him to understand how things work as well as how to use them so I suppose that is what drove me to seek the opinion of the HN collective.
logic and reason and empathy. What use is of logic and reasoning if he turns out to be Hilter (or a female version...)
Not to discourage computer use, but I'd like to second the importance of the playful aspect.

Our innate playfulness seems to be beneficial to creative processes. At the very least, it makes learning more fun, engaging.

My dad used to hide notecards around the house, with a little clue ("turn around 90 degrees and walk 2 * 3 - 1 steps"). At the location specified, there'd be another little candy and a clue. Worked wonders for me, and it gave me a lifelong desire to learn and grow.

Anyhow, just a +1 for keeping it playful. It helps a ton. And it just might make your child more creative.

I agree. Open-ended play is very important, I think. Give him stuff to build things that don't require instructions or guidance (or, at least much guidance). I am routinely amazed at what my kids build with tinker toys and blocks...
This. Your child may or may not work in IT in the future - IMHO it'd be unwise to steer him/her down a particular career path so early.

What your child will need regardless of where he/she goes is critical thinking and problem solving skills. After all, all the desirable jobs in the world center around this.

Strong associative ability, strong spatial skills, organization, learning attitude, critical thinking, logic, all of those things you should encourage in your kid. Particularly learning attitude - if your child starts hating learning, you're basically screwed.

Totally agree. I did some of my earliest engineering work at 10 yrs old with Legos. Now I use code, but it's still very much about how things go together.
Learning how to think is much more helpful than any programming language introduction. When you have learned to think and investigate stuff, then programming comes naturally.

Richard Feynman's father spent a lot of time teaching his son how to think and what thinking is. That was more important to Feynman than any mathematical lessons his father could teach him. http://www.youtube.com/watch?v=695Flhmjmg4#t=2m56s

Parents need to keep an eye out for what kind of person their kids are. They might not be a carbon-copy of yourself, they might have completely different interests and abilities and learning styles.    I did, very much so.    Many parents erroneously assumes that their kids are like themselves because "it is their kids", their genes, their upbringing. But neither genes or kids work like copy machines when it comes to personality.

Thanks for posting that clip of Richard Feynman, pretty cool - solid response too.
The number one thing to do as he grows: allow his curiosity to flourish, even if it means letting him hurt himself a bit. Some learn better through words. Some learn better through visuals. This is mostly rote memory stuff, and it's crap. Everyone learns better through experience, and experience builds both memory and extrapolation. He might only be six months old, but he's already got a keen brain for gathering data and deducing outcomes. It's intrinsic to human nature, and it's commonplace to stifle it with too many boundaries. Don't. I'm not saying you should throw caution to the wind, but don't be as protective as the societal norm says you should be.

Allowed to be curious, he'll get critical thinking skills, passion for exploring the unknown and street smarts out of the deal. He'll immediately be better at anything he sets his mind on than those who have been forced into learning only through written and verbal means.

(comment deleted)
1. Act rationally. Let him see you making rational decisions, and searching for explanations.

2. Make him talk for himself. Encourage him to meet and talk to as many different people as possible. This starts early, when he wants to hide behind your legs, and it's probably the most valuable skill he can have.

First and foremost I want to commend you for caring enough as a parent to be thinking about this, but I think you're asking the wrong question. While not a parent myself I believe I can speak from my experience of once being a child.

It is my humble opinion that children should be slowly, slowly introduced to technology. The first example that comes to mind is my own introduction to a pocket calculator in the late 1980's. I was given one before I had been exposed to the intermediate concepts of mathematics and looking back it hurt much more than it helped as it immediately became a crutch. I became more interested in getting the problem done than learning from the experience.

A slow and methodical approach to learning is what works best for me, and may not be optimal for everyone. Laying the right foundation is pretty much the only way to excel, and given the perverse incentives that abound in (America's) public schools you need to pretty much accept that it's up to you to make this happen for your child. As someone who didn't have it I cannot stress enough how important it is to have a parent that is intensely interested in helping you build from simple concepts to the advanced, learn how to learn, and how to think critically about everything you encounter. Having someone there to help you cope with the anxiety of being a novice (at life and learning) is worth more than I can express. Making sure your child understands the core of a concept before he or she has access to tools that shortcut and accelerate its use is paramount.

Also, don't be disappointed if they want to write, sculpt, draw, or paint all day. We need artists too.

Good luck.

I read through almost all the comments and no one mentioned spoken/written non-computer languages.

I would say introduce him to at least one foreign language like spanish, french, german, portuguese, japanese, or chinese. I learned spanish as I learned english, by age 3 I was fluent in both. I had the advantage of having a spanish teacher for a mother, but it gave me the building blocks for understanding the rules and concepts of other languages (on 4 so far, working on 5th). These rules, grammatical, syntactical, etc. can help with picking up things like computer programming later. I mean they are called languages for a reason.

I think that giving your son excellent communication skills will give him a huge leg up on all his peers. Make sure to include reading in both english and another language too if possible.

I agree with this completely. This is one skill I don't have that I definitely wish more emphasis was put on when I was younger.
Get him legos, things he can build with his hands, internalize the process of building, designing, visualizing. Do lots of projects with him. Show him how stuff works. Give him musical instruments to play with and give him lessons.

Honestly programming isn't that hard. If he finds it interesting he can start teaching himself at any age, so I wouldn't focus on that. All that said, IANAD. congrats on being a dad!

Time. That's it, nothing more - just spend time with him. Reading, playing and doing lots fun things.

I have two kids and had massively complicated plans on how to 'program' them (and I mean that with nothing but respect for what you're trying to do) but you can over-think this. By all means encourage, support and mentor them but try not to project your ideal image of what they should be too soon.

All the little dude needs is your attention and time - things will work out great. Good luck!

This might sound totally narcissistic but here's how I learned programming: Taught to play Chess at an early age; Taught another language (Russian, even though I never finished) at an early age (note that I didn't really like learning Russian, but it helped regardless); Given Legos and Lincoln Logs. Basically, any toy that uses building blocks encourages the kind of thinking used in programming; Read to often (but not about programming); Taught BASIC (the concept of "goto" goes a long way in realizing what is possible.); Got into creating game mods (as previous user recommended)

My parents actually sort of discouraged me from liking programming. If I would have, say, been really interested in chemistry and experimented with chemicals, they would have been less worried than when I would work on the computer for long periods of time.

It's also worthy to note that your son may not be interested in becoming a programmer, so don't try to consciously influence him. Surround him with the tools he needs. He'll find a way from there.