My 9 year old girl has expressed an interest in learning to program. Of course I want something that will give her short term rewards, but still teach solid skills. I know this question gets asked from time to time on various forums but I wanted to get some opinions from the good people of SN.
Christmas is coming... she's (for now) a Windows user... is there something you'd recommend as a gift?
Thanks for your ideas.
(Score: 5, Insightful) by Phoenix666 on Thursday December 03 2015, @12:16PM
Scratch [mit.edu] is the most kid-accessible way to teach programming that I've seen. The kids fit lego-like blocks of code together to move cartoon characters. They can also edit the characters themselves, so it's also a bit of an entree into graphic design. Scratch is free to download, but if you want it in gift form you could put it on a Raspberry Pi.
I've been considering a replica of the Digi Comp for my own 5- and 6-yr old kids to teach them about the physical layer of the computer:
http://shop.evilmadscientist.com/productsmenu/tinykitlist/375-dcii [evilmadscientist.com]
The latter's expensive but if you're crafty you could probably build it yourself.
Washington DC delenda est.
(Score: 4, Interesting) by JoeMerchant on Thursday December 03 2015, @01:10PM
Seconding Scratch as the teaching software of choice - and it's free.
If you're looking for something tangible, you could set her up with a (pre-configured) Raspberry Pi, in a case. The default Raspbian includes Scratch in a non-web dependent format. I'd stay away from the Pi Zero this Christmas and go with a Pi 2 - it's still a little slow compared to something like an Intel Core based NUC, but at $100+monitor configured, it's also quite a bit less investment.
🌻🌻 [google.com]
(Score: 0) by Anonymous Coward on Thursday December 03 2015, @01:17PM
I agree with Scratch. I want to get my own kids started on this. Also, you can take the Harvard intro to computer science (CS50x) on Edx for free and they use Scratch to teach programming and CS concepts to their students.
(Score: 2, Informative) by Anonymous Coward on Thursday December 03 2015, @01:53PM
In relation to scratch, there's scratch for arduino (http://s4a.cat/)
You do the programming with a normal PC and connect an arduino board, which then let's you control lights and motors and such and read inputs just by running the program on the PC. So in a way it's a physical I/O extension to scratch.
You can also translate them into arduino sketches, so you can run the program standalone with the arduino board only.
But i do have a question to those talking about RPi, can you control the I/O off RPi with scratch or are you just suggesting that, so the kid won't hog the PC?
(Score: 2) by rob_on_earth on Thursday December 03 2015, @02:30PM
It was possible in older versions of Scratch on the Pi but was not straightforward, latest versions of Scratch do have full IO support.
(Score: 0) by Anonymous Coward on Thursday December 03 2015, @04:22PM
ok, good to know.
(Score: 0) by Anonymous Coward on Thursday December 03 2015, @07:24PM
Oh and there's actually another extension for scrath for arduino (http://khanning.github.io/scratch-arduino-extension/).
Also, there's ardublock (http://blog.ardublock.com/), with which you can make compiled programs for arduino with a graphical language.
(Score: 0) by Anonymous Coward on Friday December 04 2015, @07:03PM
Oh, and there's BlocklyDuino (https://github.com/BlocklyDuino/BlocklyDuino) (web interface here: http://blocklyduino.github.io/BlocklyDuino/blockly/apps/blocklyduino/). [github.io]
(Score: 1) by yp on Thursday December 03 2015, @02:31PM
+1 to Scratch. I've done some volunteering with 10-11 year olds with it here in UK and most of them had good fun with it. https://www.codeclub.org.uk/ [codeclub.org.uk] has some nice projects she could implement on her own or with your help.
(Score: 2) by The Mighty Buzzard on Thursday December 03 2015, @03:42PM
There's also a very Scratch-like assortment of Minecraft themed lessons over at code.org [code.org] build by one of the Minecraft devs. Kept an 8 and 10 yo pair busy an entire Saturday around my house.
My rights don't end where your fear begins.
(Score: 2) by caffeine on Friday December 04 2015, @12:27AM
I recommend Scratch as well. It is also worth looking getting some Lego WeDo to use with Scratch. Scratch has built in support for WeDo, and the ability to use motors, tilt sensors and distance sensors is great.
A few weeks ago my 8yo built a basic "radar" system with the distance sensor and a motor to rotate it. I had to help with the trig but most of it was his own work.
I've thought a few times it would be good to put together a list of challenges suitable for younger programmers. I know my son responds well when I give him a challenge to build something like a trap that catches a lego man when he enters a cave. I'd guess the SN community could come up with a good list.