Slashdot Mirror


Ask Slashdot: Software for Youngsters?

Maniacal asks: "I was wondering if there were any games or software programs out there that could keep a kid's interest while teaching him or her the fundamentals of programming. There are plenty of learning games out there but I haven't seen any that cover this area." Maniacal continues...

"When I was a kid in the 80's, the only way to get your computer to do anything was to write programs yourself. So, with BASIC book in hand, I spent hours upon hours out my eyes and teaching myself to program. Computers today have to many things to keep a child interested so that type of exploration is gone. If there aren't any such programs available, then any suggestions about a good language to start with, basic books that a 6-10 year old child could understand, and/or inexpensive compilers would be appreciated."

I remember programs like Logo (which could be considered a language, too) and games like Zork which kept my interest in computers when I was growing up. One concern is that today's games are more distracting, focusing on the environment provided by the game, as opposed to interesting, which focuses on not just the game, but on things external to it as well. Any comments?

168 comments

  1. Quake by Anonymous Coward · · Score: 0

    Quake and QuakeC. 'Nuff said.

  2. killer kid app by Anonymous Coward · · Score: 0

    Any NNTP news client will work, as long as the kid can get to the binaries newsgroups. Nothing will hold a kids interest in computers as well as getting some good p0rn. Just ask any BBS sysop.

  3. Mindstorms by Anonymous Coward · · Score: 0

    One suggestion: Lego Mindstorms. Build robots out of Lego pieces and then program them. Ages 12 and up.

    Pro: It's not an abstract activity, you actually build stuff and then tell it what to do. An outcome of a MIT project (with Seymour Papert, I believe).

    Con: Expensive (~$200 for a set). Not a 'real' programming language (no variables, for example). My 11-year old was impressed, but actually did very little with it.

  4. No Subject Given by Anonymous Coward · · Score: 0

    Lego Mindstorms. Phenomenal, really. The included CD-ROM has an interactive video that teaches the basics of how to program your robot, and the "visual language" thing was much better done than I thought it could be. Once you've got the "mindset" of programming, I don't imagine that the jump to a "real" language would be terribly difficult, and I think that the lego set does a great job of working on that mindset thing.

  5. Computer controlled robots by Anonymous Coward · · Score: 0

    I remember seeing way back some lego-like things that you put together and plugged into a computer. Then you issue commands from the computer and made the robot do things.

    I don't remember what it was called, but maybe something like that would help.

  6. Ask Slashdot screens messed up consistently. by Anonymous Coward · · Score: 0

    I view Slashdot through three different Linux machines, one OS/2 machines, and two different NT machines. No matter what machine I am on, the Ask Slashdot articles are always WIDER than my actual screen. Other slashdot screens are fine. Nested replies to Ask Slashdot articles are fine. So why is it, then, that Ask Slashdot articles are wider than all other screens on many different systems? Has anyone else noticed this problem???

  7. Robot Odyssey is still one of the best... by Anonymous Coward · · Score: 0

    I'm not sure how many people remember this game, but it was really, really good.

    From simple IO up to parallel interface programming, this game rocked. My brothers and I spent HOURS trying to get past some of the higher level puzzles. I never did finish it. One of my brothers did, and wouldn't you know, he's the one making $40/hr with no college to speak of (yet.)

    Unfortunately, this game was CGA graphics only, and died out a long time ago. I tried to order it, and The Learning Company (who made it) had a hard time finding someone who knew about it. That was 10+ years ago.

    Anyone else remember this gem?

    Andrew Gilmore
    gilmorea@colorado.edu
    (no, I still don't have an account, but I'm lazy, not a coward!)

  8. Lego Mindstorms by Anonymous Coward · · Score: 0

    The Lego Mindstorm set is just what the doctor
    ordered. It won't do anything until you
    program it to, their is even a C like language
    for it!

    http://www.legomindstorms.com

  9. TRS-80 Power by Anonymous Coward · · Score: 0

    I remember when I was growing up, probably 10-12 years ago, in grammar school a friend of mine had a TRS-80 (model II) with the ultra cool cassette media. We spent hours upon hours learning the machine language and writing games for it using mostly get and put calls with Character strings..

    Later, we even began charging local kids a nickel per game, it was a perfect learning environment for programming.. and Capitalism!

    In my opinion, too much of software is dedicated to the Front End, and ease of use, because most people in this generation dont have any desire to know thje hows and whys, they just want the easiest possible solution. Only us Nerds care, and we are a relatively small though diverse marketing target group..

  10. Scripting languages by Anonymous Coward · · Score: 0

    The game ain't ready for use yet, but one of Altima's planned core features is the ability to "script" one's character. It isn't aimed at being a teaching aid, but it might provide an encouragement to young people to pick up programming.

    Altima is planning on using Python. That'a a good language to start with, IMHO, and I've suggested it to a few proto-programmers just recently myself. Cross platform, free, good documentation, simple syntax, useful for a variety of applications, it's not a bad language.

  11. There are such programs by Anonymous Coward · · Score: 0

    I know that there are games out there to help kids learn to program. I know of one in particular that was designed to teach Basic. But, I can't remember what it was called. Not much help, I suppose. I'll try to find out and respond again.

    But, to get young people interested, I would suggest Basic or Pascal. I know that these aren't exactly useful languages, but I would hate to dump a 6 year old on C/C++, while they might not have as much of a problem understanding Basic.
    There should be free Basic and Pascal interpreters.

  12. Interplay's Learn to Program BASIC by Anonymous Coward · · Score: 0

    Interplay sells a BASIC primer.
    http://www.interplay.com/basic/index.html

  13. there are things, though there should be more by Anonymous Coward · · Score: 0

    Yes, there are programming games, languages, books, etc that are meant either for a younger audience, or an audience just getting into programming. Some of these are used even still by experts in the field because they support from beginners to advanced.
    I wouldn't be too worried if I were you though, there are plenty of kids getting interested in programming today. Of course, they might not start out by hacking around with inadequate resources like we did when we were younger, but they'll encounter that later as they learn more.

    Games that help that I can think off the top of my head include: GNURobots(haven't tried it personally), Crobots(old C game), Probots(old pascal game), i'm sure there's a java equivilant to these, and probably others I don't know about.

    As for languages, I would advise that BASIC is not a good starting point for a programmer because it teaches things half-ass backwards and causes lazy coding styles which are hard to grow out of for those who started with it. This might seem crazy, but C is actually a good language to start with for someone who has no experience programming. Not only does it teach good coding styles, it also teaches fundamental programming methods but it also sets them up to easily learn other languages (C++, java, pascal/delphi, etc) and it is a powerful language and imho (in my humble opinion) an easy one to learn.

    There are tons of books for beginners so finding one is a non-issue. My personal favorites for beginners are: "Crash course in C" author unknown,
    "Programming C++ in 21 days" author unknown (personally I avoid C++), and try www.amazon.com for lists of other programming language books I haven't found a good beginner book for java. Tutorials on the net are also useful resources.

    Sincerely,
    Nelson Rush (chesterrr@att.net)

  14. virgin has... by Anonymous Coward · · Score: 0

    just that. it is a learn basic with animated guides and the like. while basic isn't even
    good as a first programming language, it would at least hopefully get someone interested in programming.

  15. Not just you. by Anonymous Coward · · Score: 0

    They are messed up on my screens as well (Linux, Win95, HP-UX) and are too wide even in the archives.

  16. Ask Slashdot screens messed up consistently. by Anonymous Coward · · Score: 0

    Yup, me too. Using Linux & Netscape 4.5.

  17. Learn to Program BASIC by Anonymous Coward · · Score: 0

    I remember seeing a fairly positive review of this a ways back. It's a tutorial CD-ROM that has video, animations, games, etc. to teach BASIC. Runs on Win and Mac. Supposedly very geared towards creating games and writing programs to help you with math homework. When I saw the box in a store I thought it looked very cool for a younger user (aimed at about Junior High, great time to start programming games).
    Of course we know how great it was to start with a blank screen after hitting CNTRL-RESET-REST on an apple and then turn that into a real game, (I'm only 19 and already getting nostalgic, damn, computers do make you age prematurely), but it makes a lot of sense to give kids a graphical programming environment where they can play around. Produced by Interplay, by the way, who made some amazing games back in the day (Wasteland!).
    Also check out those yellow boxes -- C programming Starter Kit and Visual Basic Programming Starter Kit. They look friendly enough to appeal to smart Jr. High Kids or younger high schoolers. I wish I'd had that when I was younger. It's almost impossible for a new programmer to sort out all the varying compilers, tutorials, etc.

    --JZ

  18. Idea by Anonymous Coward · · Score: 0

    Here's an idea. Don't buy your kids ANY games. Tell them that they have to write their own. Then buy them a couple of books, a Basic Interpreter, and a C compiler. It worked for me when my father did this. Learned all about SPRITEs, and ultimately learned machine language (remember the C-64 ML cartridge?) on cheap machines. Had alot more fun then my friends who had Ataris! Also now have a better job!

  19. Please don't teach your kids BASIC by Anonymous Coward · · Score: 0

    As someone who grew up and was FORCED to learn BASIC before I could move on to Pascal/C... Please don't teach your kids BASIC. You'll ruin their minds forever. Why not start when they are young with simple building block games? (Can you show Daddy a queue? How about a stack?) heheh.

    -AC

  20. LOGO by Anonymous Coward · · Score: 0

    Check out logo. There are free versions available, or you can buy a really spiffy implementation from the folks at www.microworlds.com.

  21. Robot Odyssey is still one of the best... by Anonymous Coward · · Score: 0

    see www.epicgames.dot for ZZT.
    there is also MEGAZEUX which is more OOP.

    --dave

  22. Jeez! by Anonymous Coward · · Score: 0

    Most of the time i'm too lazy to code something. Why would i want to tinker around with Lego MS just to move some parts of some "robots". OK, if this Lego Robots could do some really amzing stuff, but I doubt it. So, motivation is the key.

    In quake i have need to play a good internet game. I'll do quite some hacking just to improve my gameplay, customize configs, playing with bots, etc... i'll even get to code something, because i need it there and it can be usefull for me! After all it's a hell of a lot of fun, and that's what count;'s

  23. Problems with Mindstorms by Anonymous Coward · · Score: 0

    I'm seeing a lot of pro-Mindstorms comments on
    this board, many of them by people who *heard*
    of it, but didn't actually try it. I have bought
    this set and while I do like it and think it's
    a great idea, I'd like to throw in some warnings
    into the mix.

    The language that comes with Mindstorms is
    very limited and, to my programming-addled brains,
    somewhat weird. The major problem is that there
    are no variables. You cannot store a value to use
    later. There are some clumsy workarounds for
    specific situations, but they are ugly. There are
    other limitations as well (such as on the number
    of commands inside a loop). I am suspicious that
    somebody who started programming in Mindstorms
    would (a) quickly become frustrated when trying
    to do something sophisticated; (b) would have
    problems switching to "normal" programming
    languages.

    As anecdotal evidence, my 11-year old kid was very
    excited about it, but didn't actually do much with
    it and by now ignores it. It is also vastly overpriced.

    Again, I'm not saying this is a bad product.
    However it seems that people's expectations of it
    are a little bit too high.
    To

  24. Macros by Anonymous Coward · · Score: 0

    Macro writing is a good easy entree into programming. For example, if the kid/person writes an essay for their English class, encourage them to leave the formatting until the end, and show them how to write a macro to bold all the headings. But don't save the macro; let them write it again themselves the next time. It's easier to be interested in something when you can do a hands on task that brings real benefits, like saving repetitive actions in a word processor.

  25. Not me... by Anonymous Coward · · Score: 0

    Either they fixed it, or I don't have that problem.
    Using IE3 on NT4

  26. my first psudo-programming language by Anonymous Coward · · Score: 0

    The first thing I remember using as a psudo programming language was LOGO. It's easy to learn, introduces concepts like functions and parameters (sorta), recursion, reiteration, and geometry. Graphical output is easy, and keeps beginners interested. There used to be some books out that gave a bunch of animations and shapes for the user to make. From there I learned BASIC-A. A better choice now would pro'ly be QBasic.

  27. Many Kids Love Graphics by Anonymous Coward · · Score: 0

    Since he's good at math, at first I tried getting
    my son to write simple C programs for things like
    Pascal's triangle or a command-line calculator,
    but he soon got bored. When I showed him how
    to put lines, rectangles, etc. up on the screen he
    got alot more excited.

    With my son, I had the best luck with Tcl/Tk.
    Before you flame me, I know Tcl doesn't teach good
    structure, but with a few lines of code, you can
    throw up a canvas and start placing things on it
    without dealing with the intricacies of compilers
    and GUI libraries, and that can be valuable when
    you're dealing with kids.

  28. Aaaahh, Rocky's Boots! by Anonymous Coward · · Score: 0

    I LOVE that program! I used to use that when I was a kid sitting in front of my elementary school's apple IIe!

    I still fondly remember Rocky's little 'success!' dance he'd do when you completed the circuit properly.

    Sadly, I can't recommend anything equivalent these days....nowadays kids are messing with garbage like Visual Basick and getting no real knowledge about the fundamentals of computers, programming (and especially OO programming...NOTHING with a microsoft label does OO properly).

  29. As a career choice? by Anonymous Coward · · Score: 0

    I don't counsel my kids to be programmers like daddy is. Although I've been at it for 20 years, I don't believe the field will remain fertile for another 20. By the time my 5 year old is 25, I don't really expect programming to even exist as a profession.

  30. Logo by Anonymous Coward · · Score: 0

    The closest thing I've been able to think of is Logo, and I've given this some thought. I've had my cousin's twins on their own computers since they were a year and a half old. They're crazy about them, and I'd like to see them get started in on programming them.

    Unfortunatly as I think back into the recesses of my mind and remember getting Logo back in about 1982 for my VIC-20, I also remember that BASIC held my attention a LOT better than LOGO ever did.

  31. Kids don't need training! by Anonymous Coward · · Score: 0

    My nephew, under 3 years old, is learning
    computer remarkably fast just by exploring and
    playing games. Except for typing on the keyboard,
    he probably knowns more than some people at
    work!

  32. actually by Anonymous Coward · · Score: 0

    Perhaps the key to getting a kid interested in programming is to avoid getting them interested. If you take a moment (for those who are programmers reading this) and think about it, if my father or mother had tried to get me interested in programming I probably would have been horribly bored and gone on to do something completely different. On the contrary, my parents bugged me constantly and actually tried to get me disinterested in computers altogether. I think the key is, that we as humans strive to accomplish things that we set ourselves to accomplish, not something that is on someone else's agendas.
    Maybe it works for some kids, but now that I think about it, it probably wouldn't have for me.
    Just get them a computer and the development tools and leave them alone, let them make the decision.

    Sincerely,
    Nelson Rush (chesterrr@att.net)

  33. Assembly Language ;-) by Anonymous Coward · · Score: 0

    I find that Assembly Language is a great way to get kids started in the joyous world of computer programming.

    Just look at what it did for me.
    \|||/
    |X X|
    \_o_/
    I may have lost all sanity, but at least I became a really good programmer from it.

  34. you can't force a kid to be a hacker by Anonymous Coward · · Score: 0

    why do some people hack logo/basic/pascal/C/assembler through school, and some people play football/basketball/baseball/popularity games? well..
    because not everybody can be a hacker. :)

    being a hacker is a great thing, but not everybody's cut out for it. the only thing you can do is help your kid along and provide them with stuff they need to explore. not just computers, either - mechanical engineering (i.e. playing with tools, lumber, hammers, nails, and saws to build things) is very important. having a decently-stocked workshop and allowing your kid to play with stuff makes all the difference in the world - and don't get mad at them for breaking stuff, either.

    remember, having a soldering gun and an ohmmeter in the house might make the difference between you having the next steve wozniak and you having the next bill gates.. which one do -you- think is more of a hacker?

    have i rambled long enough?

    -drew (always annoyed when non-computer-types call him 'the next bill gates')

  35. magazines by Anonymous Coward · · Score: 0

    When I was a kid I had Run magazine. I read game reviews and bought games for my Commodore 64 but I also typed in long programs from the magazine. Games were worth spending days typing but i even wasted lots of time typing in a database program. That's what we need today- a magazine with free programs you can type in. Obviously no kid is going to type up quake2 from a mag but you could have a program that does a neat trick in visual basic (or better: realbasic) that folks wouldn't mind spending a few days typing it up.

  36. This is what you are looking for by Anonymous Coward · · Score: 0

    http://www.toontalk.com/

    seems like a lot of fun...

  37. Klik'n'Play by Anonymous Coward · · Score: 0

    Kilk'n'play is a program designed to allow the simple creation of games. It has a full graphicly based programming feature and lots of precanned graphics and sounds. It's available from Europress, and they have an on-line demo (http://www.europress.co.uk/). Supposedly Corel distributes it in North America under the name Click&Create but I can find hide nor hair of it. Another similar tool is called The Games Factory, but I've never seen it.

    Klik'n'play is only available for Mac and Windows alas. It's very cool, and I had a lot of fun with it when Maxis was still publishing it.

  38. Netscape prob by Anonymous Coward · · Score: 0

    I think that this is a Netscape problem with nested tables. Gecko resolves this problem, and I don't think any other browsers have it.

  39. Go with Legos by Anonymous Coward · · Score: 0

    Give 'em Legos and encourage them to use them "beyond
    the scope." I remember building Lego cannons which
    used rubber bands to fire the long pieces with surprising
    velocity.

  40. More Programming Environments for Kids (or Adults) by Anonymous Coward · · Score: 0

    Try StarLogo. Freely available for PC and Mac
    from Tufts and MIT. Nice graphical interface, and
    a simple language.

    www.stagecast.com (?) has an interesting environment for making virtual worlds. Not alot of
    programming, but it might be useful nevertheless.

    squeak is interesting, but i wonder how kids will
    view it.

    robotwars (i think) for the apple ii was a great
    intro (but not practical outside the environment)

  41. Robot Odyssey is still one of the best... by Anonymous Coward · · Score: 0

    Another vote for Robot Oddyssey. The BEST educational game I've ever seen. You can get it for an AppleII emulator. I've even downloaded it from asimov.net and run it. Fantastic game. Of course, the graphics and sound are primitive by today's standards, but what a game....

  42. Felleisen and Friedman, not Sussman by Anonymous Coward · · Score: 0

    "The Little Schemer" is by Daniel P. Friedman and Matthias Felleisen, not Sussman. (Sussman wrote the forward. His own Scheme book, "Structure and Interpretation of Computer Programs", is definitely not for beginners.)

  43. Toontalk by Anonymous Coward · · Score: 0

    Mindsprings for sure. But check out ToonTalk, there's a trial version for download. Actually I encourage everyone at /. to try it - a very imaginative teaching environment, and you might learn something about concurrent constraing programming languages as well! -- Dave

  44. Rocky's Boots (and warbots)? by Anonymous Coward · · Score: 0

    Rocky's Boots was this weird game for the C64
    (as well as clones on the similar platforms)
    where you build circuits out of logic gates.
    It was pretty fun. Also, maybe this is a bit too
    advanced, but those games where you write the
    control code for automated fighting robots are
    damn fun.

  45. Plenty of good stuff. by Anonymous Coward · · Score: 0
    Lego mindstorms look like the future, I'm out of college and I still get a kick out of them and I'm even thinking of buying one (mostly so I can take pictures of people in the shower like in the commercial...)


    Logo is still cool. Especially for youngsters, there is something very satisfying about drawing pictures on a computer screen. It's primitive but it get's the ball rolling.


    CRobots and Corewars are also pretty cool, it's about time for somebody to make a more modernized stereo sound and 3D graphics version of these. CRobots was a bit limiting because the stock robot was one of the best possible designs but the idea is good and it's still a little fun to play. It wouldn't take too much work to make CRobots a sophisticated learning tool for young programmers to be. Add a few different types of weapons, some mazes, etc..

  46. SQUEAK!!! maybee... by Anonymous Coward · · Score: 0

    On the contrary, Squeak (and Smalltalk in general) is much
    easier to teach to children than other languages. In fact, that
    was one of the goals of Smalltalk.

    Squeak also has a very nice experimental UI called "morphic",
    which has easily-scriptable objects (so kids can tell objects
    to move, change color, etc.)

    -- Tim Olson

  47. Quick Basic by Anonymous Coward · · Score: 0

    It's what got me into programming, so don't
    knock it. QB 4.5 is best, but the one that
    comes with DOS is pretty good too.

  48. Robot Odyssey is still one of t... Let's write it! by Anonymous Coward · · Score: 0

    That was one of my favorite games of all time! 4 color CGA graphics or not, it still is more fun than most stuff today.

    I've even got the disks to it stuffed away in my closet somewhere. Anyone know how to break the copy protection so I can run it under an emulator? I haven't found any computer it will run on besides old 8088 Tandys. :(

    I have actually contemplated now and again writing something like this for a current OS. Any interest out there?


    kiowa at mit dot edu

  49. TeachScheme! by Anonymous Coward · · Score: 0

    http://www.cs.rice.edu/~matthias/

  50. Incredible Machine... by Anonymous Coward · · Score: 0

    Great game that teaches problem solving. From my experience if someone is a good problem solver there is a real good chance they'll be a good programmer.

    There probably is a newer game very similar.

    Brian Macy

  51. REALbasic by Anonymous Coward · · Score: 0
    http://www.realsoftware.com/

    This is a Macintosh only product but It handles some things much better than Visual Basic.

    --robhall

  52. Corrupting Young Minds by Anonymous Coward · · Score: 0

    Quake's the last thing to do so. C is the real culprit here.

    C, Java, Pascal, and similar languages are the *worst* possible choices for teaching kids and newbies about computers. BASIC is nearly as bad, for reasons cited by others, but it is at least *interactive*. Kids (and most adults) learn best interactively. So... give them an interactive programming environment.

    Squeak is intended expressly for this purpose (http://squeak.cs.uiuc.edu) although it needs to go through another devel cycle or two before it becomes easily approachable by novices.

    Rice Scheme would be another possibility, since it's interpreted, cross-platform, and includes a graphics subsystem.

    Concurrent Clean, although proprietary, runs on Windows and MacOS, is well-integrated, has graphics, and is an all-around decent functional programming system.

    Even a good Forth system would be better for kids than C. Sheesh.

    Teaching programming by using C and other low-level compiled languages just doesn't make any sense; nor does the "give them the tools and some books and cut them loose" approach. Like many others here, I was weaned on BASIC, interpreted Pascal, and Forth. It's far easier when you're starting out not to have the obstacles of edit-compile-link-run to deal with, and to work in a relatively safe environment where you're not going to have be concerned about hanging the system if you run some bad code.

    Do your kids a favor. Teach them a real programming language. C typifies the worst-is-best approach to programming, and really isn't good for much other than writing kernels and device drivers, which newbies aren't likely to be doing.

    1. Re: Corrupting young minds by Anonymous Coward · · Score: 0

      If interactivity and simplicity are important (which they probably are, for teaching kids), then Delphi might be a good choice. I know, I know, it's proprietary and it only runs in that one Satanic Micros~1 environment, but look at the advantages:

      - It's *really* easy to learn and use
      - Done right, it provides an excellent foundation in object-oriented programming. The syntax may not match C++ exactly, but the underlying concepts do transfer well.
      - It's highly interactive
      - Believe it or not, Pascal actually is a "real" language :)
      - And most of all: At least it ain't Visual Basic!!!

  53. SimTunes! by Anonymous Coward · · Score: 0

    It does'nt exactly teach kids programming but it teaches all things which are preparatory for it -- logical thinking, etc. -- and it does it in a very subtle but fun way.

    It's sold by Maxis and was developed by a Japanese artist, Toshio Iwai, and was initially presented as an exhibit at the Exploratorium in San Francisco.

  54. My child by Anonymous Coward · · Score: 0

    I've been thinking about this for my daughters.

    Logo, BASIC, Perl - probably in that order, plus I'd even consider a markup language like HTML for beginners, sure, it's not programming per se, but I think it demonstrates some basic syntax principles...

    Pete
    (not anonymous - just lazee!)

  55. Alice by Anonymous Coward · · Score: 0

    alice.cs.cmu.edu

  56. TRS-80, Apple II, etc.. Emulators by Anonymous Coward · · Score: 0

    I learned basic overnite with a trash 80, level 1
    rom computer when I was about 12. It was great, it was interpreted, it was simple enough to get a handle on. The Apple II was just a simple, with much better graphics. Why not boot up an emulator, give the kids an old basic book with games they can type in themselves and let them start with a OS that is not bogged down by gui's...and a lot of stuff that is not really necessary to begin the process of learning to code.

    -Dave

  57. Just about anything by Anonymous Coward · · Score: 0

    Personally, I think that anything that teaches that a computer will do _exactly_ what you ask it is useful. You also can't argue with it, or say, 'well, that's not what I meant...'

  58. Karel++ by Anonymous Coward · · Score: 0

    It's a program available for Macs and Windows. You move a robot around a grid and pick up and put down beepers. The syntax is a lot like C++ and makes transition to that language pretty easy.

  59. Microworlds by Anonymous Coward · · Score: 0
    In the course MAS.123 (Tools for Thought), that I took at the Media Lab, Mitch Resnick let us try out a relatively new product aimed at letting kids program. Its also used as an example tool in the excellent book "The Connected Family" by Seymour Papert.

    Microworlds Logo is a great implementation of a pseudo-IDE for the LOGO language. Instead of having one turtle, you make as many turtles as you want. Each one essentially runs on a seperate thread and has its own set of code that it runs in response to particular inputs.

    Inputs include:

    Mouse Clicks

    Running into other turtles (I think...I was able to create the effect, but it might have been with a stupid O(n^2) check for Turtle Collisions)

    Running over colors

    UI events (kid creates a button, and when it is clicked it tells paticular turtles to react in certain ways)

    The system is capable of performing fairly complex tasks, yet allows for a variety of programming styles. Inexperienced coders can use a click-and-drag sort of GUI building interface, while more seasoned programmers can create their own LOGO subprocedures.

    As an example of the power of the system, I was able to hack together a simple particle emulation system (particles all bouncing around off each other and breaking up into smaller and smaller pieces) in a night with the system.

    Its made by LCSI. You should be able to get a free demo off their website or off The Connected Family website

  60. Good Programming Kids Game by Anonymous Coward · · Score: 0

    Try carnage heart for the psx, i know there is also a carnage heart ii but i've never played that... Carnage heart makes your program the ai for your giant robots you build and let loose with a few other robots in an arena... each robot has limited memory and such.... its not programming language exactly but it teachs the basic concepts required to program... loops (while, for, until, infin), if statements, etc, etc. That should have you set for getting a kid interested in programming.

  61. Environment by Anonymous Coward · · Score: 0

    Well, I'm not a parent, so maybe I'm in the wrong here, but I think that the idea is not as simple as giving a kid a program. There needs to be an environment that fosters learning in the home, and at school. In the home is far easier; at school you've no control. if you have the means, a good private school is almost certainly the way to go. Even with such an environment where technology and innovation and intellect are something the parents demonstrate daily, your child may not grow up to be the kind of innovator you expect. My parents are both extremely bright people, and I was raised in a home where I didn't necessarily get everything I wanted, but where the opportunity was there to create something as good or better in terms of satisfying myself. Praise of innovation is important, too. If your child learns to write a basic program with a goto statement that fills the screen with " is AWESOME!", smiles, and praise that... but also encourage further exploration. "Okay, timmy, now how can you make it so that you can tell it to say whatever you want it to, without rewriting the program?" That sort of thing.
    I'm facing these questions more and more as I think about having children of my own... "How can I foster an environment for learning?" I tell you, one really good step seems to be using Linux in the home. The internals are there to futz with, and while in fifteen years when I'm married (hopefully) and have kids (a small football team would be good) it may be easier to use, the internals will still be there to muck about with. there will still be a command line if I want it. And my children will (hopefully) learn to innovate in ways I never imagined, just as I'm sure I innovate in ways my Father never could have dreamed.

  62. MOO is best for object orientation by Anonymous Coward · · Score: 0

    I know lots of youngsters who have gotten a good foundation in OOP by playing MOOs. One reason is that the MOO environment is big enough that OOP actually provides tangible benefits - unlike the toy problems usually used to teach it in conventional programming classes.

  63. Jeez! , Tinkertoys by Anonymous Coward · · Score: 0

    Tinkertoys were motorized. I remember the little red motor I used to turn my windmills.....

    It had rollers and rubberband belts, nothing complicated but fun never the less.

    I spent my childhood using Tinkertoys, Construx, legos, and Capsula....
    All had some sort of motorize parts.
    Guess that's why I'm majoring in engineering...

  64. Give me a break... by Anonymous Coward · · Score: 0

    Sounds like the old Apple ][ program 'The Arcade Machine'.. where you got to build galaxian clones..

  65. www.toontalk.com by Anonymous Coward · · Score: 0

    kool!

  66. HTML by Anonymous Coward · · Score: 0

    Only one person so far, by my count, has suggested that a kid could learn something about programming with HTML. To my mind, it's an obvious choice. You can learn how to do very simple things right away and then build on that. There are all sorts of examples of goodlooking HTML out there on the WWW that a novice could read in source without too much difficulty. Plus it's something a kid could use for school (creating reports, presentations, etc.). Granted, it's a markup language, but it's something that a kid could start working with and seeing results today, perhaps moving on to some kind of scripting language after a few months, and then ultimately to some compiled beast like C.

  67. mTropolis by Anonymous Coward · · Score: 0

    mTropolis ( which is now unfortunately dead ) would be a good choice. I build simple little games for my kids with it, and I think that I could teach them programming with it.

    It's object-oriented, message-based, very graphical, and highly interactive. Also, it can be used to develop both mac and pc titles. Unfortunately(?), the editor only runs on the mac.

    If you can find a copy of this, then you should be able to teach your child the fundamental concepts of programming, without overloading them with the complexities of C,C++, etc. Plus, the work that they can produce in a relatively short time is impressive. ie: multimedia games. :)

    - Thomas

  68. Get an Amiga and AMOS or Blitz by Anonymous Coward · · Score: 0

    Get an Amiga 1200 for $50,
    find AMOS Professional ( still supported
    by a dedicated following on the net)
    or, better, get Blitz Basic -
    It has some very nice features nicked from C,
    like types, structures, and pointers,
    and is structured ( not much like basic at all, really). It is also compiled. Not OO though...

    Shame so many people got PCs really, Amiga's
    were/are cool ( PowerPC Amigas available nowadays
    - some sort of wierd Amiga NG in development)

    Personally, I started on the C64,
    it's (microsoft) basic was so shit, I moved to
    manual asm very quickly
    10 FOR I = 1 TO 200
    20 READ A
    30 POKE 49152 + I, A
    40 NEXT
    50 SYS 49152
    100 DATA 190,200,300 etc
    ( numbers made up - I can't remember
    6510 code now)

    I even got a C128. It had 128K RAM, a
    2MHz CPU, a Z80 alternate CPU as well as its
    8510, so it could run CP/M, not one, but two
    gfx chips, a built-in assembler, sprite editor,
    Basic 7.0, and C64 legacy compatibility mode...
    Aaah... those were the days....

    Of course, then the Amiga came out and blew
    it out of the water - and then CBM's management
    screwed everyone, and left the Amiga
    in a sorry state.



  69. How far off can you be?!? by Anonymous Coward · · Score: 0

    C, unlike most of the other suggestions IS a real programming language. It's by far the most widely used language for writing applications (well ok if you include C++ as well). The only real advantage to using BASIC other than as a learning tool is you don't have to be a real programmer to use it.



    Do your kids a favor. Teach them a real programming language... really isn't good for much other than writing kernels and device drivers...

  70. Crobots... by Anonymous Coward · · Score: 0

    Crobots was a game in DOS that allowed you to write an algorithm in a C-like language to control a robot in a playing field. You could then put two or more robots against each other and see how they did. I still have this lying around on my HD somewhere.

  71. Game Called Robot Odyssey by Anonymous Coward · · Score: 0

    There use to be a game for the appleII called robot odyssey. It help kids learn programming fundamentals and logic

  72. Logo by Anonymous Coward · · Score: 0

    I just started showing LOGO to an 11 year old friend of mine a couple of weeks ago, and she's taken to it quite well. Because of it, she's learning how degrees work (I gave an assignment of creating a protractor on paper).. and she is also learning about procedures and statements.

    Logo isn't the latest thing around, but it still does what it was intended to do quite well.

    6502 assembly has it's useful points also..

  73. VB vs BASIC by Anonymous Coward · · Score: 0

    Pah! VB ain't real BASIC.

    We grew up on:

    10 REM This is a really cool program

    20 ? Welcome to my really cool program

    30 INPUT $A

    etc. And I don't have a problem with that. When I was 8, it was fun and easy. And it taught me a lot about programming.

    I knew about sub-routines, variables, user input, comments.

    When I came to 'real' languages (eg C) I understood enough to appreciate all the 'great new features' I was being offered, rather than cursing them.

    A friend of mine once said "What's the point of functions?", well after having to deal wit BASIC GOSUBs I knew what a blessing real functions were.

    There's nothing wrong with teaching your kid BASIC. Even VisualBasic. Just don't leave him there for all his life.

  74. Programming, per se? Or structured thinking? by Anonymous Coward · · Score: 0

    What I think would work well is to create a program or series of programs which the user can modify on the fly. Ala Common Lisp/Schemeish type interface.

    Hence the newbie can pick which parts of the program they want to work on, and learn about programming for that area, and make changes. Hence they can see thier results right away. And as thier interest shifts around to different parts of the program, gradually they'll pick up more and more knowledge/skill with what theyre doing.

    It would also require exhasutive help menus and verbose error detection/description that the novice can easily grasp.

    Anyways, that sounds like something I'd like to work on. As I'm just passing from novice to "intermediate" stage right now.

    Frankly, I think flashy cartoon characters jumping around the screen pointing things out would be more of an annoyance rather than a help.(In reference to some educational approaches that I've seen in the past.)

    Anyways...my two bits.

    Culdee.

  75. Ask Slashdot screens messed up consistently. by Anonymous Coward · · Score: 0

    Works fine with Lynx

  76. giving kid a linux box by Anonymous Coward · · Score: 0

    My 14yo son has had the root account on his own Linux
    box with masqueraded access to the Internet for about 8 months so far.
    He hasn't trashed anything, but he has installed a buch of hardware successfully.
    He uses emacs in X where he can do clicky things. The keybindings
    come as he discovers their benefits.
    He has crafted about 30 web pages (plus a bit of plagiarism :()
    His pages are at http://adavid.netinfo.net/~tom
    I haven't convinced him of the benefits of version control yet though.

  77. Adventure games by Anonymous Coward · · Score: 0

    The good old Scott Adams adventure games (for the VIC 20) got me hooked on programming. I was playing them when I was about 8 years old. They teach logical thinking and problem solving skills, and since the VIC also had a book on how to program in BASIC, it wasn't long before I was making my own simple adventure games (of course I didn't know much about natural language parsing and such...). Basically any game that involves logical thinking and problem solving skills is a good precursor to developing programs (of course, the kid has to have a desire to do it as well... you can't force something).

    Thinking back, I even used to write programs on the demo computers in stores while my mom was shopping (after I had run out of quarters in the arcade, that is). ;) Man, the memories... I adore my 64... :)

  78. Xlincity, FreeCiv by Anonymous Coward · · Score: 0

    The kids like those two simulations. We've stayed up all night building a city (it was at the start of a long vacation, so there was time to recover).

    Then you can explain some of the relationships in the programs, logic, and some programming. Eventually they can improve the games...

  79. Perl! by Anonymous Coward · · Score: 0

    I'd recommend Java. It's not too hard to build a simple GUI, and that's what I wanted more than anything when I was young. If a parent is willing to get involved, it shouldn't be a problem at all.

    When I was in grade school I programmed in assembly on a 6800 proto board (my dad hooked a speaker up to it so it could play music). I fondly remember my mom explaining what an accumulator is, and walking me through the steps involved in hand compiling machine code.

    Don't underestimate a child's ability to learn. My younger brother pushed himself through the terrible C64 assembly manual before he was 12, and for both of us, BASIC was just an interface for peek and poke. I bet kids don't even have to learn hex to program these days.

  80. kids dont like programming anymore by Anonymous Coward · · Score: 0

    Kids dont like programming anymore because they boot their computer into a fucking silly OS with stupidities like icon grabbing and so that even a 1 year baby could do. Do you understande what I mean? Windows and GUIs are ruining larval geeks brains.
    See, I have a little brother and he is geek in potential, but all he cares is about playing addictive games like civ2 and aoe, ive tried to teach C to him, but he does not want to learn.
    See, when *I* was young, we booted our little computer into Basic (i know basic is bad but at least it is a programming language) and we were forced to learn programming.

  81. UCB Logo by Anonymous Coward · · Score: 0

    I thought about making a modern front end, e.g. with gtk, possibly through the gnome canvas for UCB logo. I looked at the sources and it looks real easy. I'm quite out of time though. I would love if somebody else would do this. Any volunteers?

    /dov@imagic.weizmann.ac.il

  82. A 6 year old kid? by Anonymous Coward · · Score: 0

    Not that anyone has any buisness telling you how to raise your children (and with that aside, I'll go ahead and do just that!), but if your 6 year old kid doesn't have an interest in programming, that's probably normal. I don't recall much from that age, but I have a lingering feeling that if you try to push your kid into programming when everyone else is out playing on a hippity-hop (these are fun for adults too btw, but Toys R Us gets mad when you ride them in the store...) they may never touch the subject again willingly. If you somehow succeed at pushing this child into it, no doubt after they graduate college at the ripe old age of 8, and enter the working world somewhere around 10, they will thank you very much for using your influence to force them to avoid that whole time period of fun that some of us call "childhood". Anyway, not to gripe, but if your child can't, or doesn't want to write a letter to slashdot asking for help themselves, maybe their interests lie elsewhere for the time being (I hear sports are still big these days...).

  83. Learning to program---in Tcl? by Anonymous Coward · · Score: 0

    I started out with Tcl/Tk, after discovering Linux, because it reminded me of Arexx. Then my little project started getting bigger, and i moved code into C learning it in the process (reading a couple of tutorials and using my Java experience), not because it couldn't be done in Tcl, but because I don't want to base a file-manager on running ls. Then I moved to C++ (I think better in OO).

    I too have a friend or two about ready to learn to hack, and I would use Tcl/Tk, because its easy (IMHO, but to most newbies, any language will seem strange), it got a toolkit (tomorrows hackers wont be satisfied doing filter type programs, although useful, they're not that hot when you just played around with GIMP) and it can serve as a stepping stone to C/C++ (as with me, starting to do stat'ing in C for efficiency, ending up using Tcl/Tk as a toolkit/scripting extension to a C++ program) and as Linux still not GUI'ified as some alternatives, there a lot of little projects in making UI's for common tasks (a GUI mounter for instance, or a lot of other little things).

    Beast

  84. perverse but ... javascript? by Anonymous Coward · · Score: 0

    It may sound perverse, but I'm reliving my teenage programming for fun years by playing with Javascript.

    What you want for kids is something with immediate feed-back. Which, for me, means it has to be an interpretted / scripting language rather than bogging the kid down in compilation processes, library linking etc. (I was frightened off serious c for years because I could never figure out how to link a graphics library.)

    Good scripting languages now include visual basic, Perl and javascript.

    Visual Basic IS great if you want to play in Windows. People who complain about it are either pathologically basicphobes or windowsphobes, or have no conception of the kind of immediacy you need to get interested. IF only MS supported this with more cool, easy to use multimedia add ins etc. it'd be ideal.

    Perl is the coolest language on earth. But I'm not sure if the things it does are those that appeal to kids. I haven't checked out Perl/tk so this may be an ideal combination but, once again, I don't like having to find modules, include libraries before I can do anything cool.

    So finally, javascript. Its enough like C to have what's good about C's structure. It doesn't bog you down in dynamic memory issues (well not very much). You can include and move colourful bitmaps around, reasonably quickly, in a couple of lines of code. Just what you need for writing simple games. And when you do move up to C++ or Java, it'll be quite familiar.

  85. Python by Anonymous Coward · · Score: 0

    I think python would be an excellent choice - if only
    it had a good IDE.

  86. Eclectic language suggestion by Anonymous Coward · · Score: 0


    One that comes to mind, and bare with me on this
    one is Visual Basic. (hahahaha... sorry couldn't
    resist.) No - The one that comes to mind, and
    it's a classic, is Smalltalk. It's one of the
    grand-daddies of object oriented programming. I
    mention it, as it's fully OO, and it's been shown
    (no references provided) that children are able
    to work and make programs with it, sometimes
    faster than adults, and certainly against a
    classical, non-OO experienced programmer.

    It's also free, which is always nice. I think
    it's available for a varieties of OSes.

    Otherwise - just go with Java, already. It's
    easy and fun.


  87. Logo and Toontalk by Anonymous Coward · · Score: 0

    If you are in Europe - we specialise in educational stuff for kids -
    www.logo.com.

    We sell a couple of Logo's (look at SuperLogo) with a more graphical feel
    than the free ones. And we also sell ToonTalk.

    I'd encourage you to look at ToonTalk if you haven't already - it works like a game,
    you can control it with a joystick (awesome with a force feedback joystick),
    and it teaches basic and advanced programming ideas in a fun fun way. I think it's the future of programming.

    Sadly none of these for Linux.

    Jeff Veit
    R+D Manager
    Logotron

  88. Teach your kids BASIC. And where's VB for Linux? by Anonymous Coward · · Score: 0

    If I want to create finger paint art I'll use BASIC.

  89. BASIC is good for, well, Basics by Anonymous Coward · · Score: 0

    If you do use BASIC, make sure you don't use Line Numbers.

  90. Zoombinis, Logical Journey of by Anonymous Coward · · Score: 0

    Great kids' game, fun for adults too. Kids in 1st grade on up can play it. Teaches math and logic concepts in a way that can engage and challenge a variety of intelligence levels. Everything is taught at a very abstract level, so it's very hard to explain; you just have to see it. Well worth the $35 retail price.

  91. Berkeley's Boxer Project by Anonymous Coward · · Score: 0

    Andrea di Sessa and colleagues at Berkeley Grad School of Education developed a system called Boxer which might be of interest to you. I don't know that much development has been going on recently, but you might check with them further. For more info see the Boxer Project website and their FTP server.

  92. Teach them BASH syntax by Anonymous Coward · · Score: 0

    Start them off learning to write bash scripts.
    I picked it up in a day and learn something different every other...
    it has simple logic constucts (IF, WHILE, ARRAY's, etc) and call call more powerfull programs to do the dirty work...while the awk format might be a wee bit combersome it works well. You can man bash for all the details...

  93. Rocky's Boots - Definitely! by Anonymous Coward · · Score: 0

    I'd been searching that game for years but
    i didn't remember the name. Now tnx to you
    i'm playing it at work in the apple II emulator...

    Get it at http://members.aol.com/Fractal101/rocky.dsk (as ever, only if you have a license, etc, etc)

    HoraPe

  94. Agreed by Anonymous Coward · · Score: 1

    I agree with Cliff's addendum but I'd like to amend the question:

    I want to know about books/programs that will get ANYONE into programming. I know two adult females who are interested and able but not knowledgable.

  95. Go ask ALICE! by Anonymous Coward · · Score: 1

    Definitly check out Alice. it's at;

    http://alice.cs.cmu.edu/

    It is an authoring environment for 3D worlds,
    aimed at beginners, to teach programming. It uses the Python scripting language which is a good OO language. I also agree with the mindstorms bit, I remember writing Lego/logo programs on an Apple in high school. Cool stuff.

  96. adults and older kids by Anonymous Coward · · Score: 1

    For adults and older kids I'd suggest the "Little Schemer", used with DrScheme, a "smart programming environment". For information on DrScheme see http://www.cs.rice.edu/~matthias/SmartPE/ . You might also be interested in the TeachScheme! Project: " To teach with Scheme, students only need to learn about five language constructs. Then they can design and implement compact simulations of ping-pong, lunar landers, hangman, and other (graphical) programs. The effect is that students focus on problem solving and not language details." See http://www.cs.rice.edu/CS/PLT/Teaching/ and http://www.inf-gr.htw-zittau.de/~wagenkn/Natasha_C hen.html.

  97. Carnage Heart for the Playstation by Anonymous Coward · · Score: 1

    despite the violent-sounding name, this game is
    about robots (strictly robots) trashing each other
    with guns, missiles, etc. on the moons of jupiter.

    the trick is that the game player programs the
    robots' AI using a sort of visual programming
    language-like environment. you can test your
    programs against each other, against the computer,
    or against programs by other players.

    it may not be a kids game (there is a strategy
    element to it) but i know at least one
    non-programmer who has gotten interested in
    programming after playing this game.

  98. Here too. by Wakko+Warner · · Score: 1
    IRIX 6.2 and 6.5, Communicator 4.x. Also does it on my linux and FreeBSD boxes at home.

    - A.P.
    --


    "One World, One Web, One Program" - Microsoft Promotional Ad

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
  99. RE: Ask Slashdot by gavinhall · · Score: 1

    Posted by Bocharn:

    I think the kid should select himself if he wants to do programming or do anything else.
    I started with playing games on Commodore. I could
    stop the loaded program and modify the BASIC code so that I have more lives in the game. As I grew older the love for programming grew by itself.
    Bocharn.

  100. How far off can you be?!? by gavinhall · · Score: 1
    Posted by James Crowson:

    Just because C is the most widely used doesn't make it better. I mean you have to edit a bunch of unstructured, chaotic source code, then save it, compile it, link it, and then run it *just to test one function*. Ick.

    And don't even get me started on having to know beforehand how much stack space your program will use.

  101. My experience... by gavinhall · · Score: 1

    Posted by Rumball:

    First, a little history...

    When I was a kid of about 7 or 8, my parents bought me and my brother an apple2 clone, the Laser 128K. I loved that thing to death. I spent hours tinkering in the native OS. Then we found an old copy of Apple Dos3 something, I forget the actual name. Anyways, the point is that I spent many hours on this thing, thinking up new and interesting things to write. I wrote my own simple RPG games, experimented with Graphics, creating my own interface to the OS,a slightly graphicalized and hotkeyed one (shame on me!) as well as a rudimentary password system!

    When I look back, I am quite proud of those moments. Albeit they didn't take a lot of technical skill to accomplish what I did, what it did require was a little imagination. With a good idea, it seemed anything was possible.

    I think that if you want to give your kids, or children in general, an opportunity to become familiar with computers, it has to be something that sparks their imagination. For most kids, this doesn't mean throwing them in front of a computer and say :"ok, here's vi, here's gcc, have fun". Not to look down on children, but this is past "most" children's ability. Face it, C is hard. Most "real programming languages" I saw referred to earlier are just too complicated for a child of 6-10 to learn, at least for starters. Complicated syntax, data structures, as well as overall program design in these langauges are tough, and definately nowhere for a 6-10 year old to start out on!

    I'm not demanding that you buy your kids an old Apple][ and a ProDOS disk, although that could hardly be a bad idea :). I think most windows computers come with Qbasic or something, which may or may not be a good place to start. I've never seen the documentation for it, so I wouldn't know. Kids need good documentation. However, there are a lot of alternatives: HTML can be a good place to start for young kids who know about the WWW. It is sort of like a natural progression because it can lead in to things like perl, javascript, and even graphics design. When they have some more experience, perl might be alright, however the syntax is still quite complicated. Some games are good. Text based adventure games are good for developing a familiarity with computers. nethack, ancient angiush,etc, are good, but I'm honestly not sure how that would sit with today's kids, especially if they have tasted things like Final Fantasy 7 and so on.

    Anyways, there is no definate answer. If you want your children to like computers, you sort of have to put yourself in their place and try to think what they would like. Some kids might like the challenge of learning C, others might enjoy BASIC, HTML, whatever. Just make sure that you focus on developing their imagination, that is the most important part.

    -Rumball
    PS. In case you're wondering, the Laser 128/128EX came out sometime around 1987 and was one of the only apple 2e/2c clones that I know of. ( that's 128K!)

  102. GNU Robots? by gavinhall · · Score: 1

    Posted by fotang:

    uses Guile (www.gnu.org), a Scheme implementation.
    Have played it a few times. Not bad if
    you want to have some fun with Scheme.

    --
    Some idjit rm ~/.netscape/cookies..what is my passwd?

  103. Learning to program---in Tcl? by bluGill · · Score: 1

    Obviously your used to a static scope language. Dynamic scoped languages are older, and much more interesting. Who wants to pass be reference when you can really confuse everyone with uplevel (or is it upvar) tricks.

    I'll agree that static scoping is a lot easier to program in, a lot easier to read, but it isn't the only way, and you should be exposed to dynamics scoped languages a little just because once in your lifetime it will be useful.

    I've programed my 10k lines of TCL/TK, and for the tasks I was doing it was great. Yeah, C has good points, but TCL worked, was easier to program and more readable then your average perl script. Is it a perfect langauge for every task? No, of course not. Is it useful and easy to use? yes.

  104. Might be useful ... by felicity · · Score: 1

    I once worked on a project that made a Java-applet to teach programming. Basically it's this GUI display where you write a program that creates a world and some robots, and then has them walk around and do stuff (kind of logo-like).

    You can poke at it at:
    http://www.kluge.net/mqp/

    (there's supposed to be a www.robotl.com, but it seems to have gone away.)

  105. Logo by Ian+Bicking · · Score: 1
    UCBLogo is the only real Unix Logo out there. It does standard Logo stuff, mostly with turtles. It's GPLed.

    MSWLogo is an extension of UCBLogo that includes a lot of more graphical things, but it only works on Windows :(

    I also recently saw a bit about a Java version of Logo. You can find more about that at here.

    I'd highly encourage teaching Logo to a child. It's a great language, far far better than Basic.

  106. Mindstorms by seth · · Score: 1

    LegoMindstorms are perfect. The language is a visual and reimisent of Logo. The software and product was designed by the same people (Papuert (sp?)) who designed the original logo teaching language.

  107. Logo is great, then scheme by kfort · · Score: 1

    Logo is a great little language. Dont cut it down. Its a functional style language that makes a great introduction to something like scheme. I suggest logo, then scheme.

  108. Lego Mindstorms... by tamarik · · Score: 1

    Yep! I bought 2 of them as they can talk to each other. This mixes robotics and computers together. Haven't got the hang of their lang yet, maybe your youngster will. Got a couple neat robots running around the house fscking with the cat. Now need to figure how to get them to rise over all the wires laying on the floor.

  109. music lessons! by The+Curmudgeon · · Score: 1


    Nothing teaches structure, style and discipline like professional music lessons and hours of practice.

  110. I hate to suggest this, but... by ptomblin · · Score: 1

    I think a better approach would be to provide the opportunities (like have a machine available, and maybe some good tools), and let the kid decide for him/herself whether s/he wants to become a programmer? Give the kid time to be a kid, and time to find out what s/he likes and dislikes.

    My step-daughter is 13, and not at all interested in programming, but through her own interested decided she wants to build some web pages. Now she's reading up about Javascript and doing image maps and all sort of stuff. I hope this leads to an interest in technology because she's smart and could be a good engineer/programmer/whatever, but if it doesn't I'm not going to push her.

    --
    The next Cmdr Taco duplicate will be ready soon, but subscribers can beat the rush and see it early!
  111. don't by jafac · · Score: 1

    Don't teach your kids programming.

    Teach them math, and they'll feel the urge to learn programming eventually. Programming should be a means to an end, not an end.

    --

    These are my friends, See how they glisten. See this one shine, how he smiles in the light.
  112. Programming for kids and adults. by slim · · Score: 1

    My old LISP teacher explained that people who's minds had already been trapped in the procedural way of thinking, by C, Pascal, whatever often found it difficult to get the hang of functional languages like Miranda, Scheme, LISP.

    Conversely, moving from functional to procedural is less of a wrench, and the resulting procedural programs are likely to be more elegant.

    Also, newcomers (I'm told) find functional languages easier to learn "cold" than procedural.

  113. Logo by Stratus · · Score: 1

    Remember Logo? You give it commands like:

    REPEAT 36
    GO SQUARE
    RIGHT 10
    NEXT

    END

    # SQUARE
    REPEAT 4
    DRAW 100
    RIGHT 90
    NEXT
    RETURN

    ...and it makes neat pictures. It's what sparked my interest in programming.

    There's a web version at:

    http://www.sonic.net/~nbs/webturtle/

  114. Ask Slashdot screens messed up consistently. by fizbin · · Score: 1

    Well, if you look at the HTML code, you'll see what's wrong - the problem has to do with how one's browser interprets "width=100%" in an image tag that's inside a table. The image is the little image http://images.slashdot.org/sbs.gif - this image forms the bottom of the title bar (in this case, the "Ask Slashdot: Are There Computer Programs Designed to get Youngers Interested in Computers?").

    Now, this little image is given a table cell (<TD> element) all to its lonesome. The desired effect is that this image fill up the entire horizontal width of the table cell (hence the width=100% in the IMG tag). Unfortunately, Netscape is (incorrectly) interpretting the 100% as relative to the table one up in the nesting hierarchy, making that image too wide, which then screws up everything else.

    The workaround that most slashdot pages employ is to use this image as the TD's background, instead of having a 100% image tag inside it. This is rendered correctly in Netscape.

    And good lord, you do not want to run weblint on slashdot-produced code. I shudder at the prospect.

    I think the Rob's made the code available, though - some aspiring perl hacker code get their ten minutes of fame by giving that code a thorough cleaning; it really needs it. (And while they were at it, they could make the HTML output have linebreaks every now and then so that bugs would be easier to track down)

  115. Robots in arenas by rjforster · · Score: 1

    There was a shareware program called Combat Zone for windows, came out 1994 IIRC, that had you programming some robots (in ROBOL) to do things like turn, use radar, move and shoot the hell out of other robots. Nice and simple, in some ways too simple. This was written by guy who yearned for something similar to what he learn't to program on way back. I've looked for similar things for ages and finally noticed on freshmeat something called RealTimeBattle which is a Linux rewrite/extension of a similar thing for windows but isn't Combat Zone. You can program for this Linux one in any language (examples in Perl, C++ etc) and the program tries to use real physics for accelerating, turning etc.

    So there's at least 4 of these 'Robots controlled by a program you write in an arena shooting other robots' type programs.

    The real way these things grab you is when you put your program up against your friend's and watch the fight. Then good honest childhood rivalry makes you a better programmer for the next fight.


    I just tried freshmeat to get the homepage for RTB but couldn't get in. You try.

  116. Lego Mindstorms... by flanman · · Score: 1

    Yeah, like I'd drop $200 and give it to my kid!

    When she can beat me at an armwrestling match, then I'll let her play with it too.

    Until then, it's Elmo's playschool for her!

  117. It depends on the age. by dsfox · · Score: 1

    UCB logo might be a good place to start. I was thinking about putting a front end on it for really young kids - like kids too young to read.

  118. Use WINE! by Nathan+Cassano · · Score: 1

    Most kiddy games are made to run on win3.1. I think they do that because they would loose the dumb parent market who never upgrade. Use WINE!
    ---------

    --

    ---------
    This space for rent. Call 1-800-SIGADVT to place your ad.
  119. ZZT and MegaZeux!!!! by richieb · · Score: 1

    But the source to MegaZeux exists and it's been GPLed...

    ...richie

    --
    ...richie - It is a good day to code.
  120. ZZT and MegaZeux!!!! by richieb · · Score: 2
    ZZT and MegaZeux are game building systems that allow you to play and program games in ASCII/VGA text mode. Because you can edit the fonts the graphics can get pretty fancy. With MegaZeux you can add sound to your games.

    Each games comes with a built-in programming language (an object-based one) that allows you to program the "robots" in the game. There are also many built-in elements.

    My son learned to program ZZT and MegaZeux by himself - by reading the help and by reading other people's code. He was 9 when he started.

    I had tried LOGO with him, but he quickly lost interest - it took too long to do anything beyond pretty spirals.

    ZZT and MegaZeux run on DOS (although a MegaZeux is being ported to Linux). Here are some links:

    www.zeux.org

    My son's Web page

    ...richie

    --
    ...richie - It is a good day to code.
  121. Learning to program---in Tcl? by thomasd · · Score: 1
    I'd be interested to know the answer to this one too. My feeling is that probably the best way to learn is the way we all did---by writing programs, plain and simple. When I was learning there were magazines with lots of listings to type in and debug---I guess these days books will have to do instead.

    As for languages, I'm not sure Basic is really the answer any more---it looks horribly primitive. Java might be nice, although still a bit complicated. Actually the best bet might be (of all things) Tcl. I know it looks strange but for a first-timer this doesn't really matter. It's simple and (with Tk) you can do all kinds of cool graphics and windowing stuff right from day one.

  122. Learning to program---in Tcl? by thomasd · · Score: 1
    You can pass-by-reference perfectly well using upvar. No, it's not the way C handles things, but so what?

    I know Tcl does look very strange to people trying it for the first time after C or the like. That doesn't necessarily mean it's inaccessible to the novice programmer. I suggested it because, with Tk, it allows a newcomer to do a lot (especially graphics) very quickly. Tk canvases are really no harder to use than logo turtle graphics, and can do an awful lot more. Most Basics (haven't looked at Visual Basic myself but...) can't come close.

  123. As a career choice? by thomasd · · Score: 1

    Programming will certainly change a lot over that time scale (not sure about disappear, people have been predicting that for a while now...). Even so, I'd say that whatever happens, the skills that make you a hacker are about the best preperation she is likely to get for whatever the future may throw at her.

  124. Links for robot games by Doug+Loss · · Score: 2

    Here are links for:

    RealTimeBattle

    GNU Robots

    Both run under Linux, both are GPLed.

    Doug Loss

  125. Programming, per se? Or structured thinking? by MrSpock · · Score: 1

    I'm not sure there are any educational games that teach programming, per se, but at least back in the day (Apple ][, or thereabouts), there were some games that taught the kind of structured thinking that gives rise to an interest in programming. A couple such examples are Rocky's Boots and Robot Odyssey. I'm sure there are others, but those two come readily to mind.

    Hope that helps.
    Scott.

  126. About taking a class at a community college by plik · · Score: 1

    I wanted to do this when I was 15. It was not possible, as where I live in order to be "dual enrolled" in school, you had to be 16 years of age or older. It has to do with having to be 16 to drop out of high school.

  127. What worked for me by eGabriel · · Score: 1

    Mind you, it was the early Eighties.
    Basic, Logo, and those ultra cool Atari, TRS-80, and Commodore machines. I sat down and wrote stupid games and simulations all day long, and taught myself assembler to make them crash more.

    But I was already interested; "Wargames" and "Whiz Kids" and the whole blossoming geek culture. Dress your kid funny so he or she can't make friends, and teach them to speak their mind and build within them an intimidating vocabulary. They will either turn to role-playing games, vandalism, computers, or all of the above.



  128. How to find URL by unitron · · Score: 1

    Go to http://google.stanford.edu/
    search for asimov.net
    get stuff like ftp://ftp.asimov.net
    apple.asimov.net
    and others that seem to be talking about apple emulators for games.
    good luck
    report your ultimate findings.
    thank you

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  129. TI 99/4A BASIC book by Ulexus · · Score: 1

    A year or so ago, I gave my wee brother my old BASIC book that I got with my TI 99/4A. It was made for really young kids, having little figures going about helping you learn. It has good, fun programs, and has a good learning curve. I don't know, however, where you'd find one now, except maybe at an antique store.

    --
    Seán C. McCord
  130. Gortek and The Microchips by Jeffrey+Baker · · Score: 1

    I still have my copy of Gortek and The Microchips for C-64 (on cassette). Taught me the basics of conditional looping, arithmetic, and some BASIC cruft. Also had a fun game that taught me to touch-type.

    If you want your kid to learn computers and programming, give him a stock Linux box set up to access the internet, give him the root password, back up the root partition, and cut him loose with some introductory programming books.

  131. Ask Slashdot screens messed up consistently. by Mr+Z · · Score: 1

    Me too... Could be a tag-nesting problem. The problem shows up on the main Ask Slashdot page and on the "reply" page, but not on the "Flat Mode" page, if that helps narrow it down.

    It might be worth running the page through a web-lint kind of program to see if a tag is getting dropped or added somewhere.

  132. There are such programs by sdw · · Score: 1

    NO! Not Pascal!

    I did machine control with Pascal and assembly...
    Believe me, C is far better for many reasons.

    Java would be my choice, in fact my 10-YO has been working his way through the tutorial. Hopefully I'll help him hit critical mass soon.

    I have been thinking of this idea of a game/programming environment for quite a while in fact...

    sdw

    --
    Stephen D. Williams
  133. Forget the "Learning Software" - Read a Book by Bilbo · · Score: 1
    It depends on the age, but the more REAL educators I talk to (i.e., the ones working with kids, not stuffy administrators in their ivory towers), the more I hear that kids should NOT be spending a lot of time in "Interactive Educational Programs" at a young age - meaning up to somewhere around 5th or 6th grade. Most software for that age does little more than teach kids to poke the mouse and follow tightly constrained scripts. No imagination or "interaction" involved.

    They're OK for entertainment, but don't think you're teaching them creativity or reasoning. Reading them a book does 100X what any "educational software" can do at that age.

    (By Junior High though, things change fast. I'm now wondering how to teach my 14 yr old Object Oriented Analysis and Design when they're handing out VB software at school! :-/ )

    --
    Your Servant, B. Baggins
  134. HTML to JavaScript to Perl by Pasty+Drone · · Score: 1

    I learned Basic and Extended Basic on a TRS 80 4A like many others here...in my opinion the only help there is a similar logic to current languages. The best thing basic taught me was to constantly re-check my work, but I agree with other posters that the games you can create are pretty dull by today's standards.

    Here's what's going on in my extended family...

    First create a web page (yes, I know many people don't consider HTML manipulating to be coding)together, then look at the html and explain the logic patterns in it. Using Notepad, then encourage your kid to create her own. When you upload it, you'll be able to point out and analyze the mistakes together. (That's why I suggest Notepad rather than an HTML editor that points out your mistakes as you make them.)

    When she feels comfortable with HTML, start helping her add JavaScript and then Perl to her pages. The Dummies books are definitely written at a level that most kids 8+ can understand.

    I would recommend this approach for parents with kids starting anywhere from 8 to 11, depending on their development. Before 8, just keep them around while you code...it's amazing how much they pick up from watching.

    --
    diva Pasty Drone NewsTrolls, Inc.
  135. JavaBlue, Squeak, ToonTalk by MrRobahtsu · · Score: 1
    Since I haven't seen any other mention of these, I 'll give it a shot.

    Sorry I don't have URLS for all these, but that's what search engines are for. These are the ones I'm keeping my eye on for when my 2.5 year-old twigs can type :-)

    • JavaBlue
    • Squeak (used it, it's pretty cool)
    • ToonTalk (commercial, Winders only, free demo)
    • Python IDE's
    • CRobots (GNU, I think, even has a GUI)
  136. End of an era by NoData · · Score: 1

    I too nursed on the sweet teets of the BASIC language. My digital alma mater was the TI-99/4A. Great, great computer.

    I think the driving force that pushed most geeks of our generation into programming was games. Specifically the fantasy that one could master the machine and forge one's own kick-butt arcade creation was a huge motivator as a child.

    But for us, we grew up in a time when the standard for great games was Combat on the 2600, not 3-D shooters like Quake. Today's software is so rich it just seems it would be frustrating to be a kid trying to strike out on his/her own. Gee, I made a happy face that flits around a maze eating dots. That's great. We had tools like sprites and PAINT commands. Today, you have your Open GL and malloc()'s. Woo hoo.

    Ahh for those simpler times...

  137. C-Robots? Pascal Robots? by PD · · Score: 1

    Haven't seen anyone mention these classics yet. You write a C or Pascal program to control the robot. Your robot then fights other robots. Last robot alive wins.

  138. Tickle them with Tcl (and Tk) by narnian · · Score: 1

    I've been doing Tcl/Tk programming with my son (8yo), for over a year now. I think it is great because to get instant gratification. Bringing up the "wish" shell and entering the single line
    "button .b -text "Hello,World" , pops up a GUI native button that you can press. Adding simple "-command" using ".b configure" call-backs brings it to life. Anything a little more complicated can be created in text script.

    Tcl/Tk is a real language that is multi-platform and with a lot of real-world support.

    We even wrote a small shoot-em-up space invaders type game that my son has learnt to modify.

    Send me an email if you want the code. Tcl/Tk can be downloaded from http://www.scriptics.com

  139. MUDs and MUSHes.. by incubus · · Score: 1

    Definitely Mudding is a good way to get teenagers interested in computers in general. MUD/MUSHes which allow programming of objects generally have good programming tutorials and often people to assist in the learning process.
    Some places are almost competitive about their coding practices.... competition being something that motivates a lot of teenagers.

    But be warned.. there may be social consequences :-)

  140. Squeak by NYC · · Score: 1

    Squeak is an interesting programming environment.
    The Morphic environment is a object prototype based programming enviroment. Kids can program Morph objects to do various things, both by using VB-type controls and via code.

    Alan Kay, one of the creators, and one of the greatest minds in CS, created Squeak with kids in mind.

    Plus, Squeak runs on almost any OS known to man: Unix, Win32, MacOS (PPC, 68K), DOS, Itsy, WinCE, etc...

    http://squeak.cs.uiuc.edu
    http://minnow.cc.gatech.edu/squeak.1
    http://minnow.cc.gatech.edu/SqueakDoc.1

    --
    --weenie NT4 user: bite me!
    "Computers are nothing but a perfect illusion of order" -- Iggy Pop
  141. SQUEAK!!! maybee... by PureFiction · · Score: 1

    I remember reading on /. or wirednews about a new programming language called 'Sqeak' that teaches OO programming to youngsters. Supposedly it will be easy to use and program, but I really don't know much else about it. I beleive it was an open source project, anyone heard any more of this??

  142. Learning programs for kids by tgeller · · Score: 1

    I'm surprised no-one's mentioned Stagecast Creator. It started out in life as Cocoa at Apple; Larry Tesler (yes, that Larry Tesler) took it and ran with it when Apple killed the project. It's a world-building sort of metaphor. --Tom, who also learned BASIC on a TRS-80. Microsoft BASIC (remember?)

    --
    Tom Geller
  143. BASIC is good for, well, Basics by Erisynne · · Score: 1

    I learned BASIC at 6 or 7 on my Apple IIc, and it really helped me grasp things like variables and loops and such before I ever actually did much programming at all. Let your kid try his/her hand at a little BASIC... It's really easy and forgiving, and it does make a great jumping-off point.

    if s/he really isn't interested in programming, I'd say don't push it. Nobody taught me---I did it all of my own volition. And now, years later, I can't describe the giddy feeling of looking at PERL and going "Oh wow---I know how to do this!" :) If you're looking for something a little more complex, I do recommend PERL as a second language (after BASIC). C is a lot harder to master at first without real instruction, and even though C++ is more "logical," (or should I say humanized?) it's still pretty hard as well.

    Amy

    --
    ---- My Design, Code, Ruby on Rails blog: http://www.slash7.com/
  144. heh.. :) by ArthurDent · · Score: 1

    In _my_ day, all we had was a C64 and a BASIC interpreter! And we LOVED it!

  145. Programming for kids and adults. by Christopher+Thomas · · Score: 2
    I want to know about books/programs that will get ANYONE into programming. I know two adult females who are interested and able but not knowledgable.


    This is interesting, because I know at least one other person who was in the same position. She visited her local library and looked for books, and found a few that covered BASIC and Pascal.


    IMO, something like Pascal or Turing would be the best choice for a first language, as they are well structured, have straightforward syntax, and give access to most of the features that are actually used in real programming. Once they have the fundamentals down, the student could move to something like C/C++. Starting with C would IMO be a bad idea because the syntax is cryptic as all heck to a novice. Someone who doesn't know how to program can still look at a Pascal or Turing program and see what most of it does. Syntax aside, the three languages mentioned above are similar in structure, so there shouldn't be much of a problem moving to C/C++ after the fundamentals have been grasped.


    IMO, Scheme/LISP would be a less than ideal choice. I've used Scheme, and while it is neat and represents an interesting model of programming, IMO C/C++ would be more useful if the person actually wants to do professional programming. IMO the algorithmic model of C/C++ style languages is easier for a novice to grasp than that of LISP/Scheme, also.


    BASIC, from what I've seen, is slowly mutating to resemble Pascal. However, it's still easy to write spaghetti in BASIC, while you at least have to try a little harder in Pascal/Turing. I just don't see any advantage to it.


    For Pascal vs. Turing, the decision is pretty arbitrary as they're nearly identical. I've written in both, and if you add/remove semicolons and make minor tweaks a Turing program will compile in Pascal or vice versa. Turing does have good multithreading support, OTOH, which Pascal didn't the last time I checked. OTOH, Turing is a lot more reluctant to let you do things like pointer aliasing and messing with assembly code, port i/o (on the x86), etc.


    As far as good books are concerned, I can't name any offhand. Ye (new) Olde K&R ANSI C book is decent as a C reference but not good as a tutorial. The local library seems to be a good resource, as my friend did manage to find books that were of use to her.

  146. Programming Environment For Kids by jtokash · · Score: 1
    Try FUNdaMENTAL! Available for MAC and PC.
    Here is a clip from the web page:

    FUNdaMENTAL is a complex, object-oriented programming language designed specifically for educational purposes. The language is presented in a supportive environment that provides youngsters full access to the creative challenges of real programming at a level just right for them. An optimal technology curriculum for grades six through nine, FUNdaMENTAL can be used and enjoyed by any creative person over the age of nine.

    FUNdaMENTAL is proof that the best kind of "fun" comes from rigorous "mental" activity!

    --
    John Tokash
    Homestead Technologies
    http://www.homestead.com/hackfurby/

  147. Teach your kids BASIC. And where's VB for Linux? by Lx · · Score: 1

    Please be a troll. Please be joking.
    I've had to clean up after programmers like you: I'm still recovering from the shock of having to deal with a large parts manufacturer's database, only to discover that they had paid $40k for a piece of junk written in basic. The programmers were nowhere to be found. I had hoped that was an isolated case.

    You scare me, guy.

    More on topic, though, I think basic and forth are both very good options for a starting programming language.

  148. Wow. I remember... by -=Zak=- · · Score: 1

    I remember when I started out with BASIC on my TRS-80 Color Computer. I was only like 6 or 7 years old and was amazing people that had no idea about computers.

    Nowadays, I don't know... My first non-BASIC language on a "real" computer (my 8088) was Turbo Pascal. They still teach that in a lot of high schools... That's what I'd probably recommend, but maybe that was easier for me because I had already been programming in BASIC for five or six years by that time.

    I'm interested in hearing opinions as well... I have a two year old that loves playing with my computer. I'd really like to get her interested in something other than games.

    --Zak

  149. Why not get them an 8-bit? by azz · · Score: 1

    I don't know about you, but I learnt programming on an old 8-bit machine (a Commodore 16). Had I set out to learn on a "bigger" system, I would have found it much harder. You could pick up a C64 for free these days; why not consider that option?

  150. Chipwits by ghira · · Score: 1

    Suitable for even younger users than "Omega" would be the
    rather impressive "Chipwits", which I remember seeing in the
    days of thin macs and fat macs. You programmed a little robot
    by plugging program modules together on a grid. Basically,
    you had to build a flow chart. You had about 8 grids available,
    and could use the 7 "extra" ones for subroutines.

    It was quite impressive - the game came with a variety of maps
    you could program the robot to deal with. You had to teach it
    about food, obstacles, bombs, and so on.

    --
    -- You've got to get a hat if you want to get ahead.
  151. Omega by ghira · · Score: 2

    Origin used to sell a game called "Omega" which was, basically, a
    BASIC-ified version of crobots, with rather nicer graphics, and
    some Origin-programmed enemies you could defeat.

    You also had a limited budget with which to build your cybertank
    (until you got to security level 10 and had an infinite budget),
    forcing you to decide whether to have faster weapons,
    more armour, repair kits, or whatever.

    It came with a library of pre-written routines to do things like
    follow left-hand walls, or whatever, which you could use
    until you wanted/needed to modify or re-implement them entirely
    to suit your own needs.

    No connection with the roguelike game of the same name, of course.

    There's crobots itself, of course.

    --
    -- You've got to get a hat if you want to get ahead.
  152. A geek with a world before him. by conner · · Score: 1

    Lots of great suggestions mentioned, so I'm mostly repeating what's already said.

    For a programing language take a look at Rebol. It's very modern design and straight forward syntax makes a coding a snap. "Rebol in Ten Steps" provides a thorough explanation. http://www.rebol.com/rebolsteps.html
    I'm impressed with it's total approach. On the downside it's a messaging language, so there's no graphics or the like to get his attention, pity.

    I liked the idea of introducing HTML. Initially, I feel that getting his interest is the most important part. He's still using his skills to create, which is ultimately the goal. With his work up on the Web he can show his friends at school (maybe register a domain, if it proves his thing)

    Although males and females use computers differently (solitary versus socially) you could try to include his friends. That way he'll have some geek pals in the school yard to bounce his ideas off. :)

    Music is great. Sadly, kids often aren't interested when their young, but give it a try. Computers have an appeal that a piano or guitar doesn't. When I young was I resisted learning music. Now that I'm older I've come back to the idea, and I'm keen to learn.

    Are his reading and verbal skill at a good level? I realize these skills use different parts of the brain, but they really are the most important assets any person can have. Encourage his reading and make him read out loud every day. Anyway he'll need to love reading, for there comes time when a young man must buy his first O'Rielly book. :)

    He's still quite young and hasn't figured out what he wants in life. His computer skills are something he'll always have, but if he decides to be a bohemian fashion designer, that's OK too.

  153. LogoWriter/MicroWorlds or even Hypercard by cnicolai · · Score: 1

    In elementary school we learned LogoWriter on the Apple IIe. It's a derivative of Logo--draw things by telling a turtle to move, interactive interpreter, simple functional programming with global variables--with some multimedia features.
    You have four turtles; each can take any shape or be invisible, which is cool for representing characters in a game. The main window holds graphics, bitmapped text, and text-editor-style text, all programmable. There's even rudimentary event-driven programming--you can tell it what to do when various control-keys are pressed, then do something else in the meantime.
    Definitely a lot it couldn't do, but programs were quicker to write and more engaging than my native BASIC. State of the art for my class were races/obstacle courses where the turtle moved inexorably forward while you kept it on the path by pressing control-keys to turn.
    LogoWriter was by LCSI. I heard they might have updated/replaced it with MicroWorlds, which I haven't seen.

    A step up in complexity and power from LogoWriter is Hypercard. I never got far into it, but the HyperTalk language is English-like, with object-orientation everywhere (each object has its own code area where you can extend its vocabulary). If there's a mac classic around that nobody wants, you could dedicate it to hypercard, which hasn't changed much in the past decade, so it still works fine on slow machines.
    Or, slightly far out, how about Squeak, a graphical environment written in Smalltalk, source code included? See squeak.cs.uiuc.edu
    Whatever you choose, prefer stuff that's interactive (no compile/run if you just want to try one command) and has a modern approach, like object-orientation and stuff. I guess BASIC is good at showing you how the computer does one thing after another, but it's not a good way to organize programs.

  154. I remember Gertrudes Puzzles on the '64 by sOEMA · · Score: 1

    ... that was fun! simple logic stuff. Until i
    found BASIC and started programming.

  155. What about music? by Evan927 · · Score: 1

    Musicians also get higher math scores on their SAT's.

    --
    Do the obvious to e-mail me.
  156. Old machine... by aonaran · · Score: 1

    I think giving a youngster an old machine like a c=64 or some other basic based machine, with very little software and a simple book on basic programming is a good (and cheap) way to go.

    When I was young, my friends all had ataris and nintendos or segas, i had a Vic-20, about 20 tapes and a small stack of thin books on basic. I was forced to use the computer to learn math (it was that or a boring night with dad and a text book)
    And it didn't take long before I got curious enough to start writing a few simple programs.

    I think a vic-20 now goes for about $10 with a bunch of tapes and accessories at the average yard sale.

    Give a kid an old machine, and limit the time they can spend on Mom & Dad's machine (and NO nintendo! Let them play with the neighbor's) You might be surprised at what they will come up with.

  157. Robot Odyssey - Those were the days! by RyoZenZuZex · · Score: 1

    I LOVED that game - but my brothers thought it wasn't all that great, it might not work to well as a method of stimulating interest. For Sharpening Skills, it'll do great.
    I Remember making a pair of chips, one for a controler and one for a controlee. You told the controlee robot which way to go and how far by banging the controler against the wall. It'd send serial signals to the controlee, and away you went! Neat stuff.
    Last I checked, this game was 'out of print' and it was never popular enough that I'd expect to find it in any used software joint. You might get lucky, though. You could also try talking directly to "The Learning Company" they made the game and might (conceivably) have some left in stock. Be sure to ask for the Hard Disk version, though!

    (And no, I'm not selling my copy!)

    --
    Never attribute to malice that which is adequately explained by stupidity.
  158. The Incredible Machine by dar · · Score: 1

    There was a game in the early 90's for DOS and Mac called The Incredible Machine. The premise was that you were given a number of items - basketball, ropes, pulleys, balloons, ramps, etc. A different list for each game. You had to build a rube goldberg-like machine to perform some task. It was a lot of fun and the logical thinking that went into getting the machine to work is the exact sort of thing that hooks a person on programming.

    Just checked. You can buy The Incredible Machine 2 or 3 from Sierra. 2 runs on DOS 3 runs on Win 3.1.

    Here's a couple of urls:

    http://www.sierra.com/store/quicksheet?SKU=83649 10100

    http://www.sierra.com/store/quicksheet?SKU=83672 10100

    Let me know if you try it. I'd like to know how it works out.

    dar
    darogers@xnet.com

    --
    My other Slashdot ID is much lower.
  159. It's simple... by Abe+Fromin · · Score: 1

    Take the kid to the computer store and have him pick out some killer games. Then buy him all the parts to build a killer machine and guide him on building it, with playing the games as an incentive. Worked for me once upon a time.

    --
    -- -- I always wanted to be somebody, but I should have been more specific.
  160. It's simple... by Abe+Fromin · · Score: 1

    The idea is to get youngster interested. You can't just say here, start programing something, kid. Building a machine is a good introduction to computers. After you make one, it's only natural to next want to "make it" do something. Hence, wanting to learn to program.
    Slapping some software in front of a kid isn't much motivation. Learning a bit of what a computer could be made to do is.

    --
    -- -- I always wanted to be somebody, but I should have been more specific.
  161. What about music? by BitRot · · Score: 1

    It seems to me that music might be an additional way to instill programming skills. I recollect that IBM did a study, and found musicians to have a closely related skill set. Music is a highly structured activity, repeats itself with variations, and has a sense of timing, ( important in kernel programming). With a MIDI synth and a computer, this may be a good way to go. The gratification is quick, important in starting out, and it's as complex as you which to make it.

  162. Rocky's Boots by mindslip · · Score: 1

    I remember, in about 1982, a couple of years after I built my first computer (a ZX80 in '79), I had a game for the Apple ][ called "Rocky's Boots". Rocky was a groundhog or something, and he went around this maze of rooms creating Rube Goldberg type machines using cool little cartoon AND/OR/NOR/NOT/XOR/XAND gates. This was aimed at REALLY young kids, like 5 or so. It was how I learned electronics. I've still got the game, and a working Apple ][, and I'd love to see someone clone it. It's the kind of thing we *really* need these days... something fun, non-violent, educational, and not condescending to kids. Anyone else remember it?

  163. MOOSECrossing: an excellent tool for teaching kids by Stuart+Jeff · · Score: 1

    I work with the Electronic Learning Communities research group at Georgia Tech and my advisor(Dr. Amy Bruckman) has spent the last several years creating an environment for kids that allows them to learn how to program while learning creative writing skills. The environment I am refering to is called MOOSE Crossing.

    MOOSE Crossing is a place where kids 13 and under can come to meet other kids from around the world, build new places to hang out, and program cool objects to play with. You could build a swamp next to the forest, a pet store in town, or maybe a disco in The Emerald City. You could make an elephant that tells elephant jokes, or a robot that asks people what they think about nuclear power. The world of MOOSE Crossing is built by kids, for kids. Big people are welcome too--especially teachers looking for interesting activities for their classes.

    Basically, MOOSE Crossing is a MOO designed for kids using a custom programming language that lets kids make interesting objects and share them with their friends.

    For more information check out: http://www.cc.gatech.edu/~asb/moose-crossing/

    MOOSE Crossing is also the subject of my advisor's thesis research. If you are interested that dissertation can be found at: http://www.cc.gatech.edu/~asb/thesis/index.html

  164. Lego Mindstorms... by twinkie · · Score: 1

    It sounds like what you may be looking for...

    While I myself have not dredged up the cash or time to grab one myself, it seems the perfect solution...

    Its combination of real objects with behaviors and properties, and its programmable nature, combined with the joy of putting things together and seeing them do something, may just be what you're looking form.

    Lego Mindstorms is a new type of kit where, besides standard passive blocks, there are active elements; motors, sensors, and a central brick which is programmable via PC (Soon others), which contains the code needed to run anything you build and attach to it. Examples of things already done with the Mindstorms technology; A photocopier, a optical punchcard reader, a robot that follows lines, etc. A cross between Logo, basic, and Lego!

    -Twink
    Gee, I may be first too!

  165. RoboRally, sort of... by tad · · Score: 1

    There is a board game from Wizards of the Coast called RoboRally. You "program" your robot in batchs of 5 segments with commands like "turn left", "Turn right", "back up 1 space", "forward 1", "forward 2", etc. There are all kinds of obstacles to avoid or deal with (conveyor belts, lasers, pits) and robots can "interact" by either shooting or pushing each other (granted, usually by accident). Getting an instruction wrong (left vs right say) or getting shoved one column off course can have disastrous repurcussions (call them "bugs" ;-).
    It isn't particularly deep, but it is fun and teaches the basics of planning ahead. Just avoid most of the expansions, or just use the cool boards out of them. SOme of the later rules were just silly.

  166. BASIC by celer · · Score: 1

    I think basic is about as good as it will get. I learned BASIC at age 10 or so using a book by IBM
    for the PCjr. The book was excellent for kids, it had cartoon characters and projects that were achievable. For instance you could make snow flakes or just simple designs. And yet it still had some practical programs. I could not even fathom trying to learn C or any other complex language at that time. It took me about two years to hit the ceiling with what I could do with basic. (I think I stopped when I tried to start doing texture mapped 3d stuff :( )

  167. Give me a break... by Valdier · · Score: 1

    QuakeC is the best route as to how not to learn programming correctly... Also it's sure not an easy way to learn especially if you are new to programming.

    A few months back I saw that interplay (www.interplay.com) was working on a "C for dummies" sorta program that teaches you the basics as well as associates it with basic game programming. I don't see mention of it on their site currently but it's probably there somewhere.

    Another good resource... go to a community college and take an intro programming class... good choices would be C, C++ or java. Java probably being the best if you want to learn the concepts of Object Oriented programming.