What do kids play with to learn programming

I use to hang out at the back of Radio Shack and bang out BASIC programs. It was relatively easy and I don’t remember having a hard time learning the basic flow (sequential + goto).

But I have no idea what a kids would play with today. My son is 8 and starting to want to use the computer as opposed to play on it which is nice. But I need ideas as to what to give him.

C/C++ or C# seem way to technical and I’m not sure JAVA or Python would work. He’s pretty visual - is there a graphical kids language?

I hear good things about Alice, although it is somewhat targeted at girls. Still, it’s probably worth checking out.

Exactly what I was going to suggest.

I think it is the Commodore 64 and always was. That is how I learned my career and I am 35 now. Come to think of it, I have no idea how kids learn it these days. I still have a Commodore 64 emulator on my computer that teaches my young daughters some of these concepts. I specialize in Oracle software now but there is no chance that a 6 year old can pick that up.

I remember the hours I would spend as a tyke experimenting with Applesoft BASIC on our family’s Apple IIc. I had a floppy disk of nothing but goofy programs and games that I would make. Later, when we got a Mac, I started using Hypercard (and later HyperStudio [it had color!]) to make all sorts of graphical “programs.”

ETA: Logo is a tried-and-true educational tool still available.

There are free BASICs out there.
Myself, I’ve mostly given up writing in C for OS X - I just use RealBasic, and I can have a working App in an hour.

REALbasic is nice, but I think of all the suggestions, including my own, Alice is the best as far as educational programming languages. Logo gets pretty boring fast, HyperStudio costs money (and seems to have gotten a little more complicated since when I first used it), and HyperCard is ancient, not free, no longer supported, and AFAIK, Mac-only.

(I didn’t even know about Alice before this thread. I might have to download it and play around :D)

It’s not really programming, but I can amuse myself for hours with the RPG Maker programs.

There was a shareware RPG made for the Mac (and I believe later released for Windows) that also had a design program allowing one to craft their own games. The scripting language was easy-to-use yet still allowed for significant depth. I just wish I could remember what the name was…

My vote would be for learning BASIC. While I never branched out in other languages as far as I did in BASIC (except Assembly, but that’s a different animal), learning BASIC kinda sets the groundwork for other languages. It gives you a good feel for how things should flow and kinda teaches you the basic problem solving methods that would carry over into other languages.

But that was a long time ago.

Maybe HTML

Something like Scratch or Alice should be more accessible than Basic, but if you insist on the latter, try Small Basic.

Game Maker used to be nice until it got bought up by Yoyo Games. I think Game Maker 6 is still free though. I have rather fond memories of it, since I played with it a lot as a kid. It uses its own language, GML. You don’t have to actually write any code to make a game, but it gets you thinking systematically. And eventually you probably will code at least a little, because you can’t do any really cool stuff without it.

Scratch and Alice look very interesting. I think I’ll try Alice first and see how he likes making “stories” with it.

Heck I want to try it. :slight_smile:

Thanks for posting this question! I can’t wait to show these to Thing One and Thing Two.

I tried Lego Mindstorms once, a programmable Lego unit that came with a set of sensors and outputs for engine control and so on. It came with some programming software where it was programmed by connecting graphical nodes representing conditionals and loops and so on. It’s pretty much the graphical programming you seem to ask for. I think the program was called RoboLab. It was trivial to make a Lego car follow a line on the floor for example, by using the light sensor inputs together with a loop and a couple conditionals to control the left and right engines to turn the vehicle.

Starting and stopping engines, delays, sensor inputs, conditionals and everything is represented by nodes that are connected by lines to form the program flow. Conditionals will branch into two lines, each representing what to do depending on the input to the conditional. It’s quite neat.

If the wee one is interested in the web at all, then a bare bones hosted page and some library books/online tutorials can probably go a long way. Starting with HTML, (not really programming, but it can be fun to ‘play around in’ and get the hang of using tags to get the page to ‘do something’) then adding javascript, and maybe progressing to PHP or something like that if it’s available.

My kids also went down the webpage, javascript, etc. path. They really got into Flash programming. (Now one of them is enough of a “Ruby on rails” expert that his bosses want to set him up with his own company. So it doesn’t really matter how low you start. Having fun doing it is the key.)

That’s what I’m hoping for. Alice looks very nice in that he should be able to see the linkage between building a story (sequential) with objects and a structured format.

Just want to give him the chance to start to like it and then see what happens.

I would pretty enthusiastically recommend Mindstorms if the kid in the OP were a few years older, but eight strikes me as too young. Something to keep in mind as a 10th or 11th birthday present.

Mentally I’m the right age. Notes have been passed to Lady Grey. :wink: