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."
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.
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: