Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What tools would you suggest for introducing kids to programming?

share|improve this question
+1 to Alice - alice.org – ElYusubov Jul 3 '12 at 16:06

closed as not constructive by Mark Trapp Dec 4 '11 at 0:37

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

12 Answers

up vote 8 down vote accepted

Check SmallBasic.

It is like QBASIC of our days. Programming is easy, it is extensible (if dad wants to make library) and it is updated often.

share|improve this answer

I know how its reputation is, but Alice is a great way to start learning. Why? Because instead of staring at a cold boring console, you get to see 3d objects move around. For people wanting to figure out what programming is, its a great way to start. And you don't have to learn all the complications with 3d.

Try it out and see for yourself

share|improve this answer

Depends on the age of your kids, but a friend of mine is using Lego Mindstorms with their kid and it seems to be working out well. Alot more fun to program at that age and see a robot move around!

share|improve this answer
+1 And have them join a http://www.FIRSTLegoLeague.org/ team when they want to get into competition! It's awesome! – yhw42 Sep 8 '10 at 23:52
Just a note, if one sticks with the FIRST route they are usually introduced to a simple version of C and Labview – jozefg Mar 18 '12 at 20:57

My kid liked using Scratch.

It is rich and interactive environment with good REPL loop

share|improve this answer

Take a look at Kojo - a modern reincarnation of Logo, written in Scala. :)

alt text

share|improve this answer
1  
+1 for Kojo it seems pretty fun. – haylem Oct 16 '10 at 11:00

Send them to computer camp for a couple of weeks in the summer. They'll get to make programs with kids their own age, and learn from college kids who are way cooler than mom or dad. Of course if they take to it, they'll probably want to do more programming with you once camp is done.

My two brothers and I all attended a great computer day camp when we were kids, and two out of three of us later worked there as counselors and ended up becoming professional programmers. (My other brother became a journalist -- programming isn't for everyone.)

The camp I attended is still around and doing well. For those in the D.C. area, here's a link: http://www.ticcamp.com/

One thing I liked about it (that separates it from other such camps) is that they let the kids pick their own projects rather than having a fixed curriculum, which I think is better for really getting them excited about programming. Also they spend part of the day doing sports and other activities, which is, you know, healthy.

share|improve this answer

C. After that, learning everything else will be easy, especially considering the age difference after they master C.

share|improve this answer
3  
While I'd agree that learning C is great to get into programming, I wouldn't say it's great to introduce kids to programming... As a matter of fact, I recall seeing C code (and also Java code) early on and not getting it at all. Maybe because I had only started with the usual suspects (lego, basic, html/javascript) and I wasn't used to the idioms of such languages, but also because I think it's way too complicated. Sure the grammar is fairly small, but still. Too many things to consider for a kid (mem allocation??!). the Lego Mindstorms seem like a very cool idea in my opinion, I'll try that. – haylem Oct 16 '10 at 11:00

Look into Kodu

Here's some tutorial videos as well.

share|improve this answer

LOGO. Seymour Papert, protege of Jean Piaget, used it (uses it?) to teach geometry and programming to young children. Like Etoys and Squeak, it is a "low barrier, high ceiling" environment - very quick to get something useful working, and yet no artificial barriers to learning.

share|improve this answer

Python! That is (in part) what it is designed for after all.

And there are lots of fun, cross-platform libraries for doing all sorts of things like games, GUIs, music, Logo-type graphics, web stuff. And there are some good books out there for teaching programming to kids. I know two people with young children who are teaching Python to them.

share|improve this answer

Greenfoot

Greenfoot is aimed at programming at high school level or above (from age 13 up). It can be effectively used at school level, college and university, and even in advanced university courses.

share|improve this answer

Etoys. Like Scratch, it's built on Squeak. It's a visual scripting language, which Alan Kay demonstrates as a side-effect of his TED talk. He uses Etoys as his slide show, and demonstrates the work he does educating children using Etoys.

Etoys is also one of the more widely distributed languages, because it's shipped as part of the OLPC project. (Alan performs one of his Etoys demos in the above-mentioned talk on an XO.)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.