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."
Enroll them in a class. If they have the money, it's the best way. Nothing beats a trained instructor
(If s?he gets a crappy teacher though, you've wasted your money)
Le français vous intéresse?
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.
... 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!
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.
eclecti.cc
I started out the same way, with the Vic-20 and later the C-64 and C-128. But how do you get today's kids started without just dumping them at a BASH prompt?
With the Commodores and Apples, there was no question about where to start - you turned on the computer and there's your BASIC interpreter. Yeah, BASIC is for the most part an awful language, but it at least teaches the kids the necessary logic and thought processes that go into programming.
My 8-year old son is a lot like I was at that age, and I suspect that he'll really take off in that department if he can get started. He's already taken an interest in modifying a silly game I wrote in C when I was 15 - he likes it mostly because of its quirks and bugs, and is fascinated by the idea of being able to change it himself. C is a tough language to start out in if you've never programmed, though.
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
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.
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.
The summary says high level language like it is a bad thing. If the kid is actually interested in programming why not have it play around with the Python interpreter. You gotta love instant gratification!
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.
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.
paintball