What do kids play with to learn programming

I started playing with BASIC on an old Apple II in 4th grade. I think I must have been around 8.

An Apple II is simple enough that a kid can understand and master all of it. It was a real computer, that people actually used. And BASIC is a real programming language, not some toy with cutesy graphics and an emphasis on “Telling stories” and “interactions between characters”. My eight-year-old self wouldn’t have given a crap about that - I thought BASIC was great because I knew it was close to how computers actually worked.

There were things like ALICE available back then, but I was pretty wary of things “For Kids!” when I was a kid.

I am a very visual person too.

I started learning programming with the scripting languages in Starcraft and Warcraft 3’s level editors. Great way to get something up and going quickly and being able to share it with friends helps with keeping yourself motivated.

Also learning how to use cheat-search devices and programs(such as Cheat Engine) helped me learn how games(and by extension other programs) stored & manipulated information.

And learning to program my TI-83 calculator helped pass the time in math class at school.

When i decided to try learning “real” programming i bought a number of books, but Visual Basic .net Step by Step by Michael Halvorson was by far the best.

HTML, RPG maker, and, if it’s still around, hypercard are all great suggestions as well.

One thing that really set me back when i was younger was trying to teach myself C++. Not because it’s too hard or anything but because all books/tutorials i could find start it off with console programming. And my pre-teen mind couldn’t understand how this simple dos-like stuff was supposed to be relevant to modern computing so i quickly gave it up. I guess what i’m trying to say is whatever you do try to keep it relevant to what he uses the computer for. If he plays games try to teach him with simple games-oriented programming. If he browses the web a lot try to teach him to make web pages. etc.

I used to play a lot of computer games as a kid, and I naturally became curious about how they were made. Fortunately, many games were modifiable in some way: Some included map-making software for you to make new levels, some let you write scripts to change the gameplay, some let you outright program new additions to it.

On the simple side, Warcraft 3 has an excellent scenario editor that combine level design (paint your own battlefield, pretty much) with a very easy to use scripting language that’s mainly just a series of drop-down boxes (when Hero A meets monster Y, check to see if he has the Sword of Uber Monster Slaying, and if so, make monster flee). It’s a great learning environment to teach the basics of programming logic – the language won’t translate to any major programming language, but the underlying principles ought to.

Other games that come to mind include Starsiege: Tribes 1 and 2, Civilization 2 to 4, the Quake series, the Half-Life series, the Unreal series, Second Life, dot dot dot.

Oh, and coincidentally, a similar thread was started on Slashdot (a popular tech blog) today: Best Introduction To Programming For Bright 11-14-Year-Olds?. It currently has over 800 replies; if that’s too many, you can filter them by a “threshold” to find the highest-rated ones.

You can also convert the GUI language to a text language called JASS that isn’t too dissimilar to java(or so i’m told, i’ve never used java) and allows levels of customization much greater than the GUI language. Which makes it the perfect choice in my opinion. You start off with the GUI and when you eventually run into something you cant do in that you start learning JASS.

Oh, neat! I didn’t know that.

The Game Makers Apprentice has a lot of good reviews. I’ve played with Game Maker a little before, and it seems like a nice easy transition. I ordered a copy for my kid today.

Saw that this morning and laughed. I’m never actually ahead of the curve but I try.