The Straight Dope

Go Back   Straight Dope Message Board > Main > In My Humble Opinion (IMHO)

Reply
 
Thread Tools Display Modes
  #1  
Old 12-10-2008, 09:41 PM
Grey Grey is offline
Guest
 
Join Date: Sep 2002
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?
Reply With Quote
Advertisements  
  #2  
Old 12-10-2008, 10:05 PM
ultrafilter ultrafilter is offline
Guest
 
Join Date: May 2001
I hear good things about Alice, although it is somewhat targeted at girls. Still, it's probably worth checking out.
Reply With Quote
  #3  
Old 12-10-2008, 10:24 PM
Hockey Monkey Hockey Monkey is offline
Guest
 
Join Date: Oct 2006
Quote:
Originally Posted by ultrafilter View Post
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.
Reply With Quote
  #4  
Old 12-10-2008, 10:33 PM
Shagnasty Shagnasty is offline
Charter Member
 
Join Date: May 2000
Posts: 20,707
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.
Reply With Quote
  #5  
Old 12-10-2008, 10:42 PM
seodoa seodoa is offline
Guest
 
Join Date: Nov 2008
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.

Last edited by seodoa; 12-10-2008 at 10:45 PM.
Reply With Quote
  #6  
Old 12-10-2008, 10:51 PM
beowulff beowulff is offline
Member
 
Join Date: May 2001
Location: Scottsdale, more-or-less
Posts: 9,323
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.
Reply With Quote
  #7  
Old 12-10-2008, 11:05 PM
seodoa seodoa is offline
Guest
 
Join Date: Nov 2008
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 )
Reply With Quote
  #8  
Old 12-10-2008, 11:10 PM
even sven even sven is online now
Guest
 
Join Date: Nov 1999
It's not really programming, but I can amuse myself for hours with the RPG Maker programs.
Reply With Quote
  #9  
Old 12-10-2008, 11:19 PM
seodoa seodoa is offline
Guest
 
Join Date: Nov 2008
Quote:
Originally Posted by even sven View Post
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...
Reply With Quote
  #10  
Old 12-10-2008, 11:55 PM
Joey P Joey P is offline
Charter Member
 
Join Date: Jun 1999
Location: Milwaukee, WI
Posts: 17,657
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
Reply With Quote
  #11  
Old 12-11-2008, 01:53 AM
placebo placebo is offline
Guest
 
Join Date: Dec 2007
Something like Scratch or Alice should be more accessible than Basic, but if you insist on the latter, try Small Basic.
Reply With Quote
  #12  
Old 12-11-2008, 04:20 AM
FlyingRamenMonster FlyingRamenMonster is offline
Guest
 
Join Date: Aug 2005
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.
Reply With Quote
  #13  
Old 12-11-2008, 06:35 AM
Grey Grey is offline
Guest
 
Join Date: Sep 2002
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.
Reply With Quote
  #14  
Old 12-11-2008, 06:42 AM
Marienee Marienee is offline
Guest
 
Join Date: May 2006
Thanks for posting this question! I can't wait to show these to Thing One and Thing Two.
Reply With Quote
  #15  
Old 12-11-2008, 07:29 AM
Henrichek Henrichek is offline
Guest
 
Join Date: Jul 2007
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.
Reply With Quote
  #16  
Old 12-11-2008, 07:30 AM
chrisk chrisk is online now
Charter Member
 
Join Date: Nov 2003
Location: Southern ontario
Posts: 5,665
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.
Reply With Quote
  #17  
Old 12-11-2008, 08:14 AM
ftg ftg is offline
Guest
 
Join Date: Feb 2001
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.)
Reply With Quote
  #18  
Old 12-11-2008, 08:44 AM
Grey Grey is offline
Guest
 
Join Date: Sep 2002
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.
Reply With Quote
  #19  
Old 12-11-2008, 11:31 AM
ultrafilter ultrafilter is offline
Guest
 
Join Date: May 2001
Quote:
Originally Posted by Henrichek View Post
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.
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.
Reply With Quote
  #20  
Old 12-11-2008, 11:55 AM
Grey Grey is offline
Guest
 
Join Date: Sep 2002
Mentally I'm the right age. Notes have been passed to Lady Grey.
Reply With Quote
  #21  
Old 12-11-2008, 12:02 PM
Absolute Absolute is offline
There are no absolutes.
Charter Member
 
Join Date: Apr 2000
Location: In flight
Posts: 3,669
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.
Reply With Quote
  #22  
Old 12-11-2008, 12:31 PM
Spectralist Spectralist is offline
Guest
 
Join Date: Jul 2008
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.
Reply With Quote
  #23  
Old 12-11-2008, 12:42 PM
Reply Reply is offline
Guest
 
Join Date: Jul 2003
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.

Last edited by Reply; 12-11-2008 at 12:47 PM.
Reply With Quote
  #24  
Old 12-11-2008, 12:51 PM
Spectralist Spectralist is offline
Guest
 
Join Date: Jul 2008
Quote:
Originally Posted by 404 Clue Not Found View Post
On the simple side, Warcraft 3 has an excellent scenario editor that lets 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.
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.
Reply With Quote
  #25  
Old 12-11-2008, 12:57 PM
Reply Reply is offline
Guest
 
Join Date: Jul 2003
Quote:
Originally Posted by Spectralist View Post
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.
Reply With Quote
  #26  
Old 12-11-2008, 12:57 PM
Earthworm Jim Earthworm Jim is offline
Guest
 
Join Date: May 2000
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.
Reply With Quote
  #27  
Old 12-11-2008, 02:02 PM
Grey Grey is offline
Guest
 
Join Date: Sep 2002
Quote:
Originally Posted by 404 Clue Not Found View Post
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.
Saw that this morning and laughed. I'm never actually ahead of the curve but I try.
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 06:21 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

Send questions for Cecil Adams to: cecil@chicagoreader.com

Send comments about this website to: webmaster@straightdope.com

Terms of Use / Privacy Policy

Advertise on the Straight Dope!
(Your direct line to thousands of the smartest, hippest people on the planet, plus a few total dipsticks.)

Publishers - interested in subscribing to the Straight Dope?
Write to: sdsubscriptions@chicagoreader.com.

Copyright © 2013 Sun-Times Media, LLC.