Does anyone have any suggestions for teaching a 6 yr old computer programming? I only have some limited knowledge of java and visual basic, so I would need a book, software, or website. She would be using Windows XP. I would like to get a second computer w/Linux one day but it's not in our budget right now.
Not sure what area you are in, but you can usually pick up old second hand machines which are inexpensive and good for kids to learn on. By inexpensive I mean under £80 or so.
I'm in California. I just looked on Craigslist and and it looks like I can get a used one for $175-400 USD.
Eek that seems high. Here it would be about $120 for one.
Try Overstock.com. They might have some older computers for a good price.
As for a programming launguage, I'd reccomend DarkBasic(a type of BASIC that is focsed on graphics), as it is not that hard to learn and also would be more rewardinbg for her to start out on.
I used to use darkbasic all the time, but it started to get annoying having to boot windows to use it. Though it is indeed very fun.
I looked up darkbasic and it costs $70 after the trial period. I have visual studio .net on my computer but the tutorials are geared towards an adult. I came across something called SIMPLE that's free. Has anyone heard of it?
Personally I began fiddling with MS QBASIC at around 6, my parents didn't actually encourage this though and it started out as a curiosity. If your daughter is naturally curious then she will probably end up figuring out a lot of things herself in this manner - be prepared to reinstall your OS though, and if your budget is an issue then try dropping windows for Linux or BSD. This will have the side effect of introducing open source.
Rather than uninstalling Windows or getting a new PC, try getting
VMWare Player, which is a free, toned-down VirtualPC that basically lets you run Linux from within Windows. Of course, it's much slower than having Linux run natively, but it's easier to set up.
As for programming language, for a 6-year old I would recommend
Logo.
I would recommend Python. It's a real language that is widely used, and you don't need to do a lot to get it to do something useful. The actual instruction set is small and there are only a few rules to remember. Then later on, she can do stuff with objects and recursion and such, but she doesn't need to do all that right away.