views:

734

answers:

14

I didn't really get into programming until high school, although I wish my parents would have introduced me to it at a young age.

What are good ways to start getting kids excited about programming?

I've been looking into SmallBasic and KPL as possible starting languages but would like some suggestions.

If anyone has general advice or experience it would be appreciated.

A: 

Personally, I think you should get them to start with at least basic concepts as early as 5th grade. By that time they probably know how to browse and maybe e-mail. As soon as they are fluent navigating the computer interface and the web, get 'em programming

The.Anti.9
+3  A: 

Check out these related questions:

What’s the best way to teach young kids some basic programming concepts?

Suggestions on starting a child programming.

From those posts:

I realize your question is more of WHEN rather than HOW, but based on prior community feedback, I'd say as soon as you think your kid can handle Legos (3? 2?), start planting the programming seed.

Paolo Bergantino
+6  A: 

I'd consider it a low priority.

Not until after they've been bitten with the reading bug. I'd say that anything that detracts from reading is a negative.

The industry is moving so quickly that the stuff they learn early is likely to be outdated by the time they get to college and career.

Better to learn how to think first, last and always. Programming is easy by comparison.

duffymo
+10  A: 

I was writing (very) simple games in QBasic when I was in 4th grade (along with a few other friends in my class), so I don't think there's a need to wait until high school.

In retrospect, I feel that if there was an avenue to ask for help, I would have learned more and not be stuck in BASIC and not knowing basic data structures like array (!) for a couple years.

When I started out programming, I didn't have an internet connection, nor anyone to ask for help. There were no programming courses offered (my first formal programming course was in college!), so if there were a place or person to ask questions, I feel that I would have been able to learn more. Someone who can offer guidance for where to find information would have been really helpful.

I feel that a good age isn't really that high. Elementary school students can certainly get started with programming. There's no need to introduce the ideas of variables until they learn it in middle school. (I'm sure we all have taken exams where we had to solve for x in5 * x = 35, where x was a box rather than a letter, when we were learning multiplication.)

I guess my advice is, be there when a child needs help. Steer them toward directions where they can learn more about a topic. Buy them a book. Read together. Help out when they're stuck. Give them a hand, but teach them to seek information on their own.

coobird
+4  A: 

Develop a relationship with them. When they express an interest, enable them.

Neither of my kids care a whit about programming. Computers -- to them -- are just tools. My son is a musician because that's what he likes. He's willing to put up with intermittent employment. My daughter went to the Olympics (in food service) because that interested her. I wouldn't have suggested either thing. Instead, I seem to have empowered them to make their own choces.

S.Lott
Exactly. That's what I call "good parenting." Nicely done, nicely written.
duffymo
+15  A: 

I don't think it a good idea to push a child into a direction.Why get it started with programming if the kid might be a good mathematician, engineer, musician, artist, writer?!

So the best way to get your kid passionate about programming is IMHO just to be attentive if it likes tinkering with the computer and asks you questions. A computer will be around, given these ages. And you better should be around ;)

Leonidas
I don't agree, there are so many things that I wish my parents would have pushed me toward. I understand where your coming from and I don't want to impose my will on my kids but on the flip side sometimes kids need a nudge...
Matt Davison
+3  A: 

This question is scary. Encourage them to read more, if anything. Or do some sports. If my parents tried to teach me to program I'd probably hate it today.

bpapa
+1  A: 

Programming is a tool. If your kids are smart they can learn it at 10 as well as at 25 without any major difficulty. Your goal must be to get them smart, more than to get them to do the coding. If you manage to show them that they can do cool and useful stuff using programming, the sooner - the better. as said 5th grade is a good time to start hackin' around.

The main idea must still be to show them as much different paths as possible so that they can choose their own knowingly. Maybe he's better at theoretical physics than object oriented programming - or maybe he's an artist.

Do not push or influence them to follow your path, even if you feel proud that they want to "be like daddy". You cant imagine how many bad programmers this educational mistake will produce in the coming years.

+1  A: 

I think it is important that a child forges their own path; as many of us can agree, not everyone starts out an engineer. I think being attentive to your child's interests will help you gauge when they are ready to take it to the next level. Many good introductory languages/reading material has already been posted to help guide; but if all else fails, you can always let Microsoft answer that question =]

http://msdn.microsoft.com/en-us/beginner/bb308754.aspx

Mike MacMillan
I wouldn't let Microsoft educating my kids too much, but I guess that's a matter of opinion...
Haha of course dropping the only microsoft link led to a negative score =] This points to another thing we should teach our children; broaden your horizons and be open minded. Shutting the door on a technology is only limiting the potential domain your child is exposed to (and possible jobs)...
Mike MacMillan
Exactly, and I doubt that Microsoft is the best choice to teach open-mindedness to your children :)
A: 

I’ve been teaching Scratch and Alice to as young as 3rd graders, and they do quite well. They love it, in fact. Many show an interest in learning more mainstream languages so we do Python and Pygame.

Dave Briccetti

http://davebsoft.com

Dave Briccetti
A: 

I think that if the trick is to first of all get your kids to learn how to read and write early, preferably before they make it to first grade (is that when kids in the US start learning? or maybe preschool).

I think that once they're able to understand that and some basic math/geometry, you could teach them about Logo (there are lots of free implementations) or maybe play with educational programming systems like Alice.

I learned Logo when I was 7 and survived :)

Uri
A: 

My suggestion: Try to find an old Lucas Learning game called "Pit Droids". It's a puzzle game that is, I think, an excellent introduction to mathematical and computational thinking, and it's a lot of fun.

David Thornley
A: 
  1. If to teach a kid programming? Sure if s/he wants to learn.
  2. When to teach a kid programming? As early as s/he understands the idea of following instructions like a cooking recipe, and enjoys it.
  3. Will a kid want to learn programming? Getting rarer because now a computer does so much without the user programming it.

When I was 7, computers filled a room, 4-function calculators cost $7K, and I enjoyed the idea of getting a computer to add up lots of numbers and make larger numbers. So I started programming. I wanted to learn. Now because of #3 above, the barrier to interest is much, much higher.

I would add one thing to S. Lott's answer "Develop a relationship with them. When they express an interest, enable them". That would be that what you as a parent are excited about, and share with your kids, they may get interested in. If that happens, great. If it doesn't, check what they are excited about and learn from them. That's what's so great about parenting.

Guess the question was about parenting not programming ;-)

talkaboutquality
A: 

I wouldn't force a child into learning programming. If he/she shows interest then sure, but I think you're better off having him work on his reading and math skills. Those skills will serve him well regardless of his eventual career choice. Maybe find some educational games that he likes so he can have fun and learn at the same time.

Programming isn't THAT hard to pick up. I learned how to program in C when I was 18 years old and I seriously doubt that i'd be any better now if I started earlier. If I could change anything about my upbringing though I would definitely have had my parents spend more time with me on the basics: math, reading, science.

Ones3k2