Slashdot Mirror


Introducing Children to Computers?

Years ago, kids could be gradually introduced to computers through learning languages like LOGO and educational computer games. Many of us started our computing careers at our parent's workplace, logged in to a word processor to type away, only to become fascinated with the whole computing thing. So Slashdot, let's hear how you were lured into the digital life. What was it that drew you to a life of programming? How old were you when you first used a computer? What pieces of modern software do you think would be a good way to introduce today's kids to the world of computing? Two of our readers had a few related questions: "A family friend has asked me to help teach her 13-year-old the art of computer programming. I initially thought this would be easy to approach but times have changed since I cut my teeth on text-only, ROM-based, BASIC interpreters. Twenty years ago, it seems there were much more clear and concise paths one could take to learn programming. Now I'm at a loss as to what language and resources I should use. Everything is so high-level that I'm having trouble finding convenient, simple tools that promote the fundamental tenets of programming, allowing newbies to jump in and see immediate results, without getting bogged down in corporate-centric APIs. It seems nowadays most programmers end up spending more time learning the development environment (and thus being confined to specific platforms) than core, transferrable programming knowledge. I'd like to ask my fellow Slashdot dwellers what tools, languages and approaches they have used to help introduce new people to programming?", and from sagefire.org: "My daughter is a huge fan of TuxPaint and ChildsPlay. We use Linux and MacOSX (and occasionally Windows) on different computers. We like to have stuff for her installed wherever we go. The two I mentioned go a long way, but we would love to pick the collective Slashdot brain on this one."

27 of 886 comments (clear)

  1. Linux, the open OS. by garcia · · Score: 4, Interesting

    My first memory of using a computer was plugging a HUGE game cartridge into the back of my family's Vic20 and being in some castle (like Dracula's Castle or some shit). It was a text adventure game that I really never mastered. I think I was about three years old.

    My father started me writing programs in BASIC before I was four (as that was what he was doing and of course I wanted to know how). I could read most things by then and this was not much more than just copying what he did anyway. I mostly remember playing around with simple things like PRINT, GOTO, and INPUT. Nothing very complex although I suspect (but don't know for sure) that my father never did anything terribly complex in BASIC.

    We progressed through the Commodore stages (C64, C64C?, C128D) and when I was in 7th grade we upgraded to a Packard Bell 386SX-16 with a whopping 2MB of RAM and a 40MB HD. This is where my love of computers really started... I sat down my first day and discovered the DOS prompt (PBs at the time had a simple GUI menu that basically sucked) but quickly found myself unable to load anything from the 3.5" disks.

    LOAD "*",8,1 was giving me "Bad command or file name" repeatedly... Dejected, I sat down and read the DOS 5.0 manual from front to back (several times actually). I spent time writing crap in Q-Basic (and eventually QuickBasic) and then moved on to Turbo C++ (which I must say had a far less interesting manual than DOS believe it or not ;))

    What I enjoyed most of all (and I have posted about that on Slashdot before) was thumbing through the old-school Computer Shopper looking to build my dream machine and making sure I priced it the best I could.

    I miss the days of old-school computing when everyone knew at least some part of what was going on inside their machines and the OS even allowed you to! I missed that part of computers until I moved to Linux in 1996.

    I'm just glad that with Linux I can continue to allow it to remain that way. I can forever live in the world that I had grown up in. So to answer your question about what I would do to introduce a child to a computer... Linux!

    Linux allows you to get right down there in the trenches with your machine. You get to see what the hell is going on when it boots up. Sure, most people don't care (because they don't have to) but we all grew up watching DOS boot before Windows. We knew how to edit config files and save on what little memory we had so that we could run NewGameFoo.

    I enjoyed learning about computers and playing around and finding out how they ticked. It scares me that NO ONE will know how soon as Windows does NOT really allow you to know. Everything is behind a shroud of secrecy and hard to find registry settings that are buried in deep trees of information.

    At least with Linux a child gets the best of both worlds. A modern operating system GUI with nearly all the comforts of Windows while still being able to learn if they want to.

    But that's just me. I learn by doing not by example. Using a computer that is open to explore was the best option for me.

    YMMV.

    1. Re:Linux, the open OS. by Pfhreakaz0id · · Score: 4, Interesting

      As a person who has spent some time programming and troubleshooting windows, I'll throw out my favorite saying "The more you learn about Windows, the more you are amazed it works at all".

      Seriously, I remember troubleshooting a boot/registry problem and I got this freeware/shareware program to log all registry activity. It would even do it for a whole boot. At the time, a win2k boot had between 120,000 and 150,000 registry read/writes!!!

    2. Re:Linux, the open OS. by calibanDNS · · Score: 5, Insightful

      This is just too true. My wife's two youngest brothers are 13 and 14. They love there XBox (and Halo 2), and got incredibly upset when I told them that it wasn't really that revolutionary. They really believed that Halo was the first FPS with online game play, so I showed them some great FPSes on the PC (Doom 1&2, Quake 1-3, HL, and Unreal). They couldn't believe that people had been playing online for years. Then I showed them mods and how to download and choose your own model and skin. I swear, they almost lost it. They immediately wanted me to show them how to make models and skins, which I'm not talented at. I tried to explain 3D modeling to them, but it didn't go over very well.

      In general, they just want their computers to boot up and let them download all of the free music that they can find. They're not interested in learning how to make the computer to do what they want, just how to make it get the songs that they want.

      I wish kids were as amazed by computers as I was at that age. My first programming experience was on my TI-82 calculator, where I wrote a couple of games and other programs. I had a C64, but at the time didn't have enough exposure to the computing world to understand what it was capable of. I really wish that I still had that old thing, as it was awesome and would be great to show to my brothers-in-law.

    3. Re:Linux, the open OS. by NMEismyNME · · Score: 4, Funny

      "because I started at 12 myseld"

      You know it's time to get out of the house when instead of reading "myself" you read "mysqld".

  2. karel by utexaspunk · · Score: 4, Informative

    I first started using computers when my dad brought home our Kaypro 4MHz 8088. I learned DOS by watching over my dad's shoulder, and then trying to play games between when I got home from school and when he got home from work.

    as far as teaching programming goes, try karel the robot that's what we used in high school before learning pascal, and it made the structures seem very logical.

  3. Pr0n! by Tackhead · · Score: 4, Insightful
    > if nothing else works, tell them there's porn on the internet ;)

    There's porn in this .tar file. Here's a spec for the .tar file format. If you can write a program that extracts the .tar, you can keep the pr0n!

    If you replace "pr0n" and "tarfile" with "game" and "disk", that's pretty much how I got started.

    I asked what the computer was for. They told me it could be programmed. I RTFM'd, and figured out how to use the thing to "program" a game whose source code was in the form of ink spots on dead trees.

    From there on, it wasn't too hard to figure out that I could make the game better by changing some of the numbers (probability of hitting a target, radius of a targeting circle, etc).

    By the end of the day, I realized I was having more fun programming the thing than I ever did playing the game.

    It's been 20 years now, and I'm not hooked. I could quit any day I want to. I just don't want to.

  4. Quest for Glory... by FortKnox · · Score: 4, Insightful

    ... or, back in the day, it was "Hero's Quest." That old sierra game is what really sprung me into computers and programming. Played around with basic at home, and pascal in high school.

    Anyway, with the question. First thing a child should know is how to get around on the computer. This includes command prompts and everything. Once they are truely mastered at this, I'd find some free compilers and teach a little bit of basic. If they have a school with an MS partnership, they could pickup visual basic pretty quickly.

    Don't be an elitist and try to teach the kid C or C++ or anything overly complex. Give them a bitesized language before introducing them to the big stuff. Would hate to see the kid drown cause you put too much in front of her.

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  5. Cold, Hard Reality by Mignon · · Score: 5, Funny
    What pieces of modern software do you think would be a good way to introduce today's kids to the world of computing?

    Today's world of computing? Give the kid an EULA from Microsoft, a C&D from Disney, and a subpoena from the FBI. I'm not completely joking, either.

  6. Computer ??? by lexsco · · Score: 4, Funny

    you were lucky. There were 150 of us using abacus in middle of 't road.

  7. Lego Mindstorms by LWATCDR · · Score: 5, Interesting

    What more can I say. Let's face it kids today are not going to write a video game to be proud of today like they could back in the Apple/64/Atari day.
    However something like mindstorms is fun and accessible. Also a good way to get your feet wet programming.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  8. Python by __aadidx2690 · · Score: 5, Informative

    My 13-year-old brother recently decided that he might like to learn how to program. He has been fascinated by computers for a long time -- mostly due to computer games.

    I've been programming since I was 8 -- about 18 years now -- and I started with BASIC on a VIC 20. I don't think BASIC is the way to go these days, so when I started to teach my brother I thought first of Python. Python has a lot of advantages for beginners and is an excellent tool for teaching programming. It works great for procedural, object oriented or even functional styles.

    So far he loves it! At first we were using Dive Into Python as a guide, but he wanted something that he could handle more on his own. Dive Into Python is much better for programmers looking to pick up Python. After a bit of searching I settled on Michael Dawson's Python Programming for the Absolute Beginner. I gave him that book for Christmas and he has loved it!

    The cool thing about Dawson's book is that the example programs are all games. It starts really simple (guessing games and the like) but by the end of the book Dawson has you using graphics and animation (thanks to Python's great package support). If you're looking to help someone learn programming then I'd have to really recommend Python as a start and a book like Python Programming for the Absolute Beginner as a guide.

    1. Re:Python by Noksagt · · Score: 4, Informative

      Python is a wonderful choice: it is easy to learn & quick to code in, but can be scaled up to larger projects. For the younger children who need to understand even more basic computer concepts, it can also be scaled down:

      PyLogo is Logo implemented in Python

      Guido van Robot is similar, but so much cooler.

      Finally, livewires has an excellent Python tutorial.

  9. Re:BASIC by PaintyThePirate · · Score: 4, Insightful

    Yea, I had a similar start. When I was about six years old (1992), my dad gave me his old IBM PC/2. Interestingly enough, I was subscribed to a children's magazine back then, Contact, that had a BASIC game each issue, filling up one page with code. I went through the magazine each month, typing the code onto the IBM, eventually modifying it, and finally, writing BASIC programs on my own. You can't force a kid to be a geek. He/she has to be curious and willing to learn by nature. In my opinion, the best solution is to simply give the kid the tools he or she needs to get started, and see what happens from there.

  10. Re:Logo is a good... by bloosh · · Score: 4, Informative
    I teach Berkeley Logo to 7th graders. It works with Linux, Windows, Mac OS X, etc.

    I think Logo is great for kids of that age because it provides them with instant gratification at the early stages. Once they get past seeing what the commands do at the Logo prompt, I have them write short programs using a text editor.

  11. Re:Step one by ackthpt · · Score: 4, Insightful
    This is very true. How can you expect anybody to figure out how a computer works when all the inner workings are hidden from them, or they aren't even accessible. This is why I like Linux. Even though most of the time I use the GUI, I know that I could do everything by the command prompt if I wanted to. This is what's gone wrong with TV's. You should be able to perform everything with the buttons on the TV, but most of the time, the remote control is needed. If you lose the remote, then you lose a lot of functionality.

    Have you noticed the obfuscation (well, actually you're indicating a familiarity with aspects of it) of television? I've had the creeping dread that media entertainment is heading away from the consumers choice to the conglomerates direction of what we get and how we receive it. You think you have choices, but do you really?

    It's like computers. Most desktops are GUI, thanks to Windows, and are inexplicable. There's crap I want to turn off, or change or am not even aware of 90% of the time. Sometimes I bring up task manager and start killing processes to see what they were actually doing and how necessary they were.

    Most classes on computers, at the outset, do nothing to challenge thinking about why things are the way they are, it is expected the student accept it as a fact and procede. Seems like being handed a credit card at birth and not realising until you're 40 years old that you could actually save up money to buy things, rather than borrow all the time and manage debt. It's seems like there's a debt of knowledge regarding things today , some critical thinking should be a part of any training these days. One thing is certain, things change and what will be in a few years is little like what is today.

    --

    A feeling of having made the same mistake before: Deja Foobar
  12. Short and simple... by 198348726583297634 · · Score: 5, Insightful

    As a father myself of two adorable li'l monsters, I've decided that they won't play with computers at all until later in their childhood. Computers and TV both seem to encourage a lot of button-pushing, while I'd rather they learn to think and make things in their world. Putting together a unix-alike will be child's play once their little brains are appropriately wired to see the world as the great big machine it is.

    1. Re:Short and simple... by Miriwen · · Score: 4, Insightful

      Easy, start kids at the beginning. Hand 'em an old C64 or Amiga system and let them learn how to use it. It might give them an appreciation for functionality in software, as opposed to flashy graphics and glamor, as well as avoiding getting them locked into a DOS standpoint of CLI commands. At the very least, start a kid on a non-graphical interface, so they learn to actually use the system. How to set up the startup scripts, manage memory, maybe even some programming skills. Once they're ready, bump them up to a Linux system and let them go. Graphical systems are fine, but they teach very little in the way of actually using and running a computer system.

  13. PHP is the "new" basic at many places by NitroWolf · · Score: 5, Informative

    A strange as that may sound to some, PHP is the "new" basic being taught at many community (and 4 year?) colleges.

    My local community college switch just this year from teaching QuickBASIC to PHP as the starter language. At first I was like... WHaaaaa?

    Then I got to thinking about it, and realized that PHP can be as simple or as complex as the user wants it to be, and it really *is* a good starter language, and a spectacular path towards C++. The web browser is something most people are already familiar with, and what can be better than designing programs that communicate with your web browser if you want, or they can do other things, obviously... but the web browser is pretty close to a basic prompt, and you can do some neat things that would be entertaining for kids (maybe not 3 or 4 year old kids, but 7 or 8 and up).

    If you're like me, your first reaction is going to be the "Whaaaaaa?" to it, but stop and think about it and give it some serious consideration before dismissing the idea... it really does have some merit.

  14. Squeak and e-toys by Junks+Jerzey · · Score: 4, Informative

    Squeak is a fairly popular approach at the moment. I don't know of any schools that use it directly, but I've run into free camps that promote it. Squeak is a platform-independent Smalltalk, but when teachers say "Squeak" they mean the e-toys framework for building little interactive applets. IMO it's an interesting little system, but fairly awkward to pick up.

    For older kids, the game-oriented BASICs give quick results--things like Blitz Basic, Pure Basic, and Dark Basic. Almost certainly you want to steer kids away from stuff from the dark ages, like the Linux command line, makefiles, gcc, etc. I know, I know, lots of geeky types are going to hate that suggestion. But stop, take a step back, and just see the reactions you get to that stuff. It's not that it's unusable, just that it feels so awkward and out of place in the modern world. Show someone DrScheme, for example, and then show someone Emacs and makefiles. Your student will be horrified at the latter two.

  15. Don't use a computer you care about! by Dwonis · · Score: 4, Insightful
    Probably the worst thing you can do is use a computer that you care about. It's absolutely critical that the child be allowed to experiment and try new things without worrying that he/she might break things irreparably.

    Older computers that had only tapes/floppies were better in that way, since it was pretty hard to ruin media that was either in the drive with write-protect enabled, or in the desk drawer.

    You probably also want to have programs (read: games) available that can be changed easily.

    I haven't tried Macromedia Flash, but I'd look into it.

  16. I've been teaching programming using Flash by jbum · · Score: 5, Interesting
    One of the nice thing about early 80s PCs was that the individual pixels were large. So you could accomplish a lot with a simple program like this one (which I often entered into floor models at the local radio shack):

    10 COLOR RND(15)
    20 SET(RND(20),RND(20))
    30 GOTO 10

    Sadly, it is harder to find programming environments for kids that provide this kind of simplicity these days.

    Last year I started teaching high school aged kids to make simple videogames using Flash. My class is called "Make your own videogame in Flash Actionscript". Essentially, my class is an introduction to programming, and something of a "stealth math class." I would much prefer to be using BASIC on old VIC-20s, but Flash isn't too bad for this activity.

    I'm aware of the huge anti-Flash sentiment on Slashdot - one I generally share when I see it needlessly used on websites. However, I think Flash is pretty good for teaching kids to program.

    Since it's vector based, the equivalent code to produce the effect of the above (raster based) BASIC program is too large (see http://krazydad.com/bestiary/index2.html for my implementation), so I have had to rethink how I approach things. I have to start with programs that are simple in Flash, not programs that were simple for me in 1981.

    Still, I have to spend a couple classes getting past some unnecessary high-level concepts integral to Flash (like "timelines" and "the stage") but eventually we do get down to programming.

    When a kid writes that first program in which they can control something on the screen, they invariably yell "Yes!!" or "Alright!!" This is why I like teaching programming.

    The reasons I chose Flash, over something like LOGO (or Squeak) are:
    • It provides a hands-on enviroment for the kids to paste in their own artwork and manipulate it without yet knowing how to code.
    • It's possible to make some very simple games that look good without a huge amount of coding.
    • The kids can share their games with others by publishing them on a website.
    • It's a real-world technology that may get them a job or money.

  17. Females are so different by Specabecca · · Score: 4, Interesting

    I grew up in a geeky home with both a dad and older brother consumed with computers.. yet it was not something I wanted to be a part of until I hit college. Females take to computers in a whole different way. I didn't care how to do the little tasks here and there, like fixing little problems that I deemed 'computer janitor' type jobs that periodically sprung up when I was doing basic gaming and word processing. What I wanted to know was the big picture. I needed things explained to me in terms I could understand/ relate to. Something like 'computer story time' would have sparked my interest when I was little, breaking down how the various components communicate with one another and what their jobs were inside the computer first on a broad scale, then breaking it down into finer pieces as time passes. Starting a task like 'ok, we are going to install a new nic into the computer' and explaining WHY you are doing it before you do it, what it does, etc and then displaying the results in a meaningful fashion might useful too. Long story short, fixing something because it is borken just didn't excite me. It doesn't excite a lot of females. Fixing something with a story, with a purpose, with results you can prove to her after the fact.. now that's exciting.

  18. Re:On the "computer programming" question by IllForgetMyNickSoonA · · Score: 4, Insightful

    Insightful? I beg to differ! Being allowed to explore the computer (ZX Spectrum with 48K of RAM and 16K of ROM, integrated BASIC) all by myself was the main reason I fell in love with it in the first place. Every little success I achieved by doing so gave me a great feeling and made me want to learn more. I sure am happy my parents didn't look for a "trained instructor" to teach me what I taught myself.

    Look, you are obviously a technically informed kind of person, if not even an IT pro. How about sitting down with your kids, giving them a few first hints, maybe a good book too, and see how they'll do on their own? Having trained instructors teach you sure is an extremely valuable thing once you reach a certain level from where moving further forward by means of self-education gets really damn hard. However, for the basics, a trained instructor would more probably scare the kids away, instead of attracting them to the subject.

  19. Do Nothing. by raehl · · Score: 5, Insightful

    Asking "How do we get kids interested in computers?" on a website like Slashdot is like asking "How do we get kids interested in working on cars?" in an automotive magazine.

    You don't. Your kids will pick what they want to be interested in as a natural result of what they do in life. My parents tried to get me interested in all sorts of things they thought would be good for me - soccer, football, tennis, math team, piano lessons, foreign language, blah blah. The only two things I ever became really "good/involved" at are computers (my full-time career) and paintball (hobby), both of which my parents discouraged (paintball in general, computers in the "don't spend so much time on computers!" sense). I still resent this quite a bit as I would be better at the activities I ultimately chose to be involved in if I hadn't had to waste time appeasing my parents' desire for me to be interested in the activities they thought I should be interested in.

    How did *I* get involved in computers? My dad got a computer with a modem, and I was quickly discouraged from spending time on it because I was spending nearly all of my free time on the computer (time not at school or with friends, when we were not messing around with computers), and this was viewed as "bad". I eventually forced them into getting a second phone line, but the next 8 years that I lived at home would be a constant battle between me and them over how much time I spent on the computer.

    Ultimately, I escaped to college and a computer engineering major and then got to spend all the time on the computer I wanted. But those 8 years of fighting my parents over it put me quite a bit behind the kids who'd had unfettered, and even encouraged, access to their machines.

    So if you have a computer in your house, and your kid is not ALREADY spending all of their time in front of the computer, they're not interested in computers. Nobody had to figure out for you how to get you interested in computers, you figured it out yourself. It will be the same for whatever your kid decides to be interested in. No matter how much you as a computer geek want your kids to be interested in computers, chances are your kids are going to become very interested in something that is NOT computers, whether it be sports, guitar, chess, student government, whatever. Do your kid a favor and support whatever it is your kid spends all their time doing. If you have to "show" them how to be interested in it, they're not interested in it, and you're wasting both of your time.

  20. Re:Yes, introduce them to IP piracy at a young age by leonbrooks · · Score: 4, Informative
    And make sure while they use Linux you explain to them how lots of big co[r]porations such as Sun and MS paid $$$ to develop the technology that you now enjoy in cloned form for free.
    Oh, very good. We're talking about the same MS that directly cloned Apple's interface right down to fixed-sized elevators, and DEC's operating system right down to the spelling mistakes? The same MS who bought in or stole almost all of their major applications because the home-grown ones didn't fly? Who ripped off SpyGlass Systems, Blue Mountain Greeting Cards and a looong list of other software houses?

    And is this the same Sun Microsystems whose Unix is one of the more difficult (in relative terms) to port Linux code to due to the differences between them?

    Here, put on this conical hat and go stand in the corner.

    It would be handy to have an option to rename such as you from "Anonymous Coward" to "Brainless Coward".
    --
    Got time? Spend some of it coding or testing
  21. Re:Do Something by crazyphilman · · Score: 4, Funny

    "Ok, son, whatcha got going on, there?"

    "I think I've got root. Nmap says it's an NT box; it doesn't seem to have a firewall running. Looks like a law office."

    "Aaahhh! Nice one! You gonna nuke it?"

    "Nah, I wanna mess with 'em a little. Wanna send a nasty email to a competing law office? Maybe we can get a West Side Story brawl going."

    "Hang on, your mom's gonna wanna get in on this. HONEY! GET IN HERE! JOEY'S NAILED A LAW FIRM"

    (goth mother comes in)

    "A law firm? You're kidding? What are they running, 2000?"

    "Naw, ma, NT 4."

    "Get out of here!"

    "Honest! Hey, check it out, someone's trying to log on. Should I enable his account?"

    "Go for it. Hey, pop up a message, let me type."

    (Mother sneaks into the seat).

    "BEHOLD, LAWYER, FOR I AM THE ANGEL GABRIEL AND I HAVE COME TO WARN THEE, THOU ART BILKING THY CLIENTS AND SHALL SURELY PAY! IF THOU WISHEST TO GAIN THE KINGDOM OF HEAVEN, GIVETH THY BMW TO RICHARD STALLMAN AND DONATE YOUR TIME TO THE FREE SOFTWARE FOUNDATION!"

    "Umm, mom, wasn't that a little over the top? Besides, he doesn't know how to respond."

    "Right... Umm..."

    "LAWYER! JESUS HAS INSTRUCTED ME THAT IF YOU STRIP TO YOUR UNDERWEAR, LEAN OUT THE WINDOW AND SCREAM PRAISE THE LORD ONE DOZEN TIMES, THEN QUIT YOUR JOB AS MINION OF SATAN, WE'LL FORGIVE YOU... BUT ONLY THIS ONCE."

    "Yeah... MUCH better..." (rolls eyes)

    Hey, the family that plays together STAYS together!

    --
    Farewell! It's been a fine buncha years!
  22. Re:Pun Alert by Reteo+Varala · · Score: 4, Funny

    I'm not a big fan of instructors either, but beating them with a blunt object is NOT the ANSWER!