Teaching Programming Skills to Children? 121
KlaatuVN asks: "My younger siblings are asking for ways to learn to program. If I remember correctly, when I was younger I started programming by writing games like 'Lemonade Stand' in BASIC for the Commodore 64. Short of finding a Commodore 64 emulator and digging up some old BASIC programming books somewhere, what do you think is a good way of teaching children to program? I'm not trying to start a 'language war', but that does enter into it. Should I start with a scripting language? What, O Wise Slashdot Readers, are your opinions?" When I was just starting out in computers, I remember LOGO being a big help in teaching me the logic skills I would eventually use as a programmer. I know LOGO is still around, but it would be interesting to note if there are other similar projects like it. What tools, and programs would you use to teach programming skills to interested youngsters?
QuickBASIC (Score:1)
Re:QuickBASIC (Score:2, Informative)
Re:QuickBASIC (Score:2)
Re:QuickBASIC (Score:2)
I first learned programming on QBASIC and AppleBASIC, but I really got the bug when I started programming in "TI BASIC", or the BASIC that's included with TI graphing calculators. The la
Re:QuickBASIC (Score:2)
Start them with Logo and then move them up to Python. Ucblogo is free and available for Linux and probably the *BSDs.
Re:QuickBASIC (Score:1)
Start them off with a challenge! (Score:2, Funny)
Use Brainf*ck (Score:3, Funny)
Re:Use Brainf*ck (Score:4, Funny)
Teacher: "You are all individuals"
Students: "Yes, we are all individuals"
Re:Use Brainf*ck (Score:1)
Stagecast Creator (Score:3, Informative)
TiFox
Oh yeah... (Score:2)
Additionally, here's a link for game creation resources [ambrosine.com] for those who are non-programmers. Since games keep interest up, this could be a way to teach programming.
Older kids learn Python easily enough (Score:5, Interesting)
Very young kids have problems with attention span, reading, typing, etc. so you may want to use something like Lego Mindstorms instead of text-based programming.
See www.geekschool.org for one approach.
Re:Older kids learn Python easily enough (Score:1)
Re:Older kids learn Python easily enough (Score:3, Informative)
Actually it's not just kids how have attention span issues who can benefit from Lego Mindstorms. If your siblings haven't yet taken high school geometry yet (or haven't had enough exposure to boolean logic), then Lego Mindstorms is a really cool to get a day-to-week-long introduction. Past that, I'd say, based on my own experience, that (when I wa
Re:Older kids learn Python easily enough (Score:1)
The only problem with Pascal (nowadays) is that compilers/debuggers seem hard to come by.
Borland sells and maintains an exceptional programming system based on a Pascal dialect called Delphi [borland.com].
Re:Older kids learn Python easily enough (Score:2)
Simon Huggins at Northhampton College [simonhuggins.com]
? Python ?Perl ?PHP (Score:2)
From an educational viewpoint it is early success and plenty of positive re-inforcement that is critical.
Therefore the most important thing is that you (the tutor) should pick a language that you know well, so that you can help them debug, which is actually the most critical skill to learn.
Python is good, but kids know understand web pages, and if they do something cool, then they can upload it, and their friends can see it. This gives them the peer approval (positive reinforcement) that keeps them goi
Rocky's Boots. (Score:3, Informative)
Last time I played it was on an Apple IIe.
Re:Rocky's Boots. (Score:3, Informative)
It's an excellent program.
Find it and an apple II emulator here [warrenrobinett.com].
Re:Rocky's Boots. (Score:3, Informative)
There's always (Score:5, Insightful)
While I think a child might be ok with making some little PC games, I think they would love it even more if they could build a dinosaur and make it walk like they want it to.
Re:There's always (Score:1)
Re:There's always (Score:3, Funny)
Re:There's always (Score:3, Insightful)
It was probably more due to the pace of the course, bu
Concepts, Not Particulars Important (Score:1)
Re:Concepts, Not Particulars Important (Score:1)
I can not stress that enough. If they don't see a benefit (and I mean IMMEDIATE benefit), it doesn't matter what language you use. Thats why Logo was such a good training tool for kids. You get to see what you are doing up front. From there go to xBasic or something else that is more involved but still quick payoff.
In my DOS days, Turbo C was a great language to use as the step up from BASIC. I am sure
Assembly (Score:3, Interesting)
1) fewer operators than pretty much any other language (unless you're talking about x86 asm)
2) teaches how computers *really* work inside. I never became an effective C programmer until I learned assembly and what was going on behind the scenes. Your kids will learn the basics of booleans, memory layout, branches, etc much more thoroughly than if they started with C. After they've mastered asm then they can move on to C and will appreciate it that much more.
Re:Assembly (Score:4, Funny)
And teaching the kiddies assembly will have the side benefit of scaring them off of a career in programming so they'll be more likely to go where the big bucks are: business.
Sure they'll cry now when make them sit still and trace program flow through the LDA and JMP instructions but when they're making six figures a year just for spewing some business buzzwords at those five-per-day meetings in comfy, fancy chairs they won't be able to stop thanking you enough.
GMD
Re:Assembly (Score:2)
I first picked up assembly by wanting to make stuff move around the screen on a VIC-20 in 4th grade. Of course, I though C-64 BASIC was the bomb after that, but I didn't know any better at the time, so I didn't realize that it was hard and scary. Kids have a knack for being able to do hard stuff if they don't know it is.
Anyway, yes, I is a professional programmer now.
Re:Assembly (Score:1)
I think it's very important for a computer hacker/programmer/scientist wanna-be to know how the computer work, and learning assembly makes that way clearer.
I myself started with BASIC, tought.
Only about five years ago I wrote my first assembly little program (for 8051) to control an LCD and some keys, attached to the serial port of a PC, a console for an mp3-car-player.
Test-first (Score:2)
It will help keep them focused on writing something that works correctly, and writing only what is needed. It should also keep them from wasting hours trying to figure out why something isn't working.
Teach them Perl . . . (Score:1)
TI-85 (Score:1)
Re:TI-85 (Score:2)
It may be more expensive (usually around $150), but it uses a command line interface with a seperate output window, you can split the screen to view graphics and source at once, it's open source (like all TI calculators using basic), and the manual comes with an ok intro to programming.
Also, unlike the other calculators (I think) it allows the calling of external functions and programs, which can be sorted into folders in the filesystem.
Throughout my enti
A pure and useless language (Score:3, Funny)
I'd stay away from kludgy languages like C, C++, Java, Basic, etc.
So Smalltalk might be good. I'd suggest Lisp, but it might be too useless ;) I've also heard good things about Ruby.
And assembler might be good too. A big light turned on in my head when I learned assember, because I finally figured out what was going on inside the computer.
Scheme. (Score:2)
Everyone knows that good programming can only be taught using Scheme [mit.edu]. Surely, kids can see the benefits of learning the statically scoped and properly tail-recursive dialect of the mother of all computer languages [google.com].
Smalltalk might be good. I'd suggest Lisp (Score:2)
Re:Smalltalk might be good. I'd suggest Lisp (Score:1)
The cool thing though was that they had a control panel on the top that allowed you to input Logo programs, and then they'd trundle off around the room following you're program
This has just reminded me how much fun it was to "che
flexible (Score:3, Insightful)
Re:flexible (Score:1)
HTML, Mindstorms and games (Score:2)
Lego Mindstorms is another one that is simplified but gives impressive results.
Beyond that I would look for something that let them write games with graphics easily. Don't have any great suggestions though. BASICA for the original IBM PC, which is where I wrote my first games, was pretty good, but I think with windowing systems, doing any graphics has gotten so complicated tha
Re:HTML, Mindstorms and games (Score:2)
Re:HTML, Mindstorms and games (Score:1)
It'll serve as a good intro to TeX, though. You are going to teach your kid DTP the REAL way, aren't you?
Re:HTML, Mindstorms and games (Score:1)
Err, HTML: HyperText Markup L - l -
lingo?
If HTML is not a language, what then, are the likes of English and Italian, just to name a couple?
HTML has conditionals, but not branches. Because of this, it is not a programming language.
Yes To HTML (Score:1)
It costs nothing to start, just open up notepad and IE/Moz and you are away.
You can start almost anywhere with HTML and take it as near or far as you wish. You might just work out how to say "Hello World" and learn how to surf more effectively, or you might start exploring Flash, Java, Javascript, XML, PHP, Databases etc - Lots of directions to suit most tastes.
Not everyone gets off on Knuth, and you can be productive and have fun without
Re:Yes To HTML (Score:2)
Re:Yes To HTML (Score:2, Insightful)
The point I was trying to make is that HTML is a base from which student can explore in whichever directions interest them, and have something to show for it at the end.
I don't know the students in question so there is no way I can know what will make them happy and capture their imagination. That is the strength of html. So many things can be associated with it, that there should be something for everyone. No, it isn't a programming language, but it can
Re:Yes To HTML (Score:1)
Director (or its children/cousins) (Score:3, Informative)
My "real" first taste of programming was BASIC, with the old K-power magazines and my Atari 400/Apple II+. Those were the days.
At any rate, my entry into building actual applications came with Director 1.0, many years later.
It gives a timeline that anyone can animate and assign rudimentary interactivity to -- building presentations, programs, and even specialized applications -- without any programming needed, but also allows for Lingo scripting (as a next step) -- which you can achieve pretty much anything with.
Lingo is very close to BASIC, but the syntax comes closer to C/Javascript/PHP, and it's getting more object-oriented with every revision.
The bottom line is that *anyone* can build an application or presentation with any of these tools that work, without programming.
But *with* programming, you can add bells, whistles and functions that wouldn't be possible working in the timeline alone.
From there, kids can (if they have aptitude) make the jump to C or scripting languages once they can understand more complicated syntax.
Just my thoughts, but if someone tried to teach Perl or VBScript to an 8-year-old, I think it'd be an uphill battle.
A battle I'd pay to see, because I think it'd be much funnier than anything that's broadcast on TV these days, at any rate.
God, I miss LOGO.
--dr00gy
Re:Director (or its children/cousins) (Score:2)
I be
No good new teaching languages (Score:2)
Java, which is commonly used in schools, is *awful* as a first language -- tons of focus on semantics and OOP, not much on data structures.
I strongly disagree with people that push Scheme as a first language. I don't think functional programming is incredibly intuitive.
On the up side, whatever you use these days has memory protection and preemptive scheduling. I remember learning C on the classic Mac OS
I second Python (Score:1)
go with visual stuff (Score:3, Insightful)
The reason "we" got into programming when young is that we were all probably maths/science people looking for an outlet for our energy ("I never made the first team, I just made the first team laugh" - billy bragg).
Unless they already have a flexible and mathematical brain, it's really going to be hard to teach them to cope with the logic of
x = x+1
That statement is directly contradictory to anything that they ever learn in maths, and I certainly wouldn't want them believing that it was actually a statement of equality.
As programmers we contort our brains to think of it as 'x takes the value of whatever x is now plus 1' - but it's us changing our thinking to suit the computers for this specific task.
I have thought a number of times about trying to teach teenagers computer programming, but after having taught them maths for the last 4 years, I don't think I would attempt this with any but the most advanced students.
However, programming concepts can be taught using more visual tools. I can't remember the name of the program, but I have seen a Lego Mindstorm programming interface which is ideal for kids: it's visual, it's dragging and dropping program pieces, and it gives kids some concrete feedback on their progress (since it makes the Lego robot, or whatever, do something).
You and I might be happy to write a "helloworld" or a "prime number list generator", but most people need something a bit less abstract as a proof of their progress. LOGO had the conrete output of a picture (so it'd be a competition between the kids to make the picture). Mindstorms have robots (so it's a competition to make the coolest robot).
To summarise the summary of the summary
Re:go with visual stuff (Score:2)
== boolean operator
and then maybe
= could be a lazy operator
But regardless its easy to teach kids the notation and just say "=" means something else.
Advanced students (Score:1)
I don't know, when I was in high school I sucked at Math, I barely passed Calculus (mostly due to the fact our teacher died and we had a sub for half the year and all we did was have pizza parties and watch movies)
But, I took to programming (Java, VB, C, Pascal) very well.
Fun, introductory programs are key (Score:1)
From about K through 6, I fondly remember using LOGO and I think PILOT to make different graphical creations. I also recall Logowriter as a fun tool to even make movies with
Note though that these, I believe, helped me to learn to use the computer in a fun and natural way, not necessarially to learn how to actually program correctly with them. That is probably more
Re:Fun, introductory programs are key (Score:1)
Yes, you pretty much only use it for things that end up on paper or film (which is quite often for me), but the language itself can be used for computation. The results don't always need to be printed, and you can create your own dictionaries of synthetic commands to use all the time.
And you learn about stack-based languages. It's really q
Stack based languages (Score:1)
Stack based languages are cool for some things. I love my RPN calculator -- it's a lot more efficient for typical computation. After using one, I feel my brain contort when I try to use a standard algebraic calculator. It's as if I need to figure out how to "engineer" my expression into the constraints imposed by order of evaluation.
One word of warning, though: Stack-based machines have scalability problems when you try to make things high-performance. That's due primarily to the inherently serial n
Criteria (Score:5, Interesting)
I'd look at it from some criteria. The weights that you give these criteria would vary depending on your target audience. For most audiences, I've listed them in descending order.
I refer to the Lego Mindstorm's RCX here. There are two forms for this. One is the graphical program builder that comes with it. The other is traditional languages like NQC. Generally, NQC etc have all the disadvantages of C.
Overall, either Logo or Python would be a good choice, depending on your target audience. I'd say that Logo would be a good choice for 12 and under, and that Python would be good for after that. Note that Logo knowledge easily translates to Lisp, so one possible track would be to start with Logo, and later transitition to Lisp.
Re: (Score:1)
Re:Mathematica (Score:2)
I agree! Mathematica is certainly a good choice. (I used it quite a bit in my younger days, and once wrote a paper to teach programming in Mathematica.) I haven't used it in many years (about eight, I think), so I don't know where it's gone since I started.
In case it didn't show before, I'll say that I'm a Lisp fan. Mathematica is actually more or less descended from early Lisp, and it shows in several aspects of the language. (I seem to recall seeing Car and Cdr functions, which are trademarks of Lisp.
Re:Mathematica (Score:2)
Note that cost was not one of the criteria.
Oh, I'll add: For those looking for a free (beer and speech) alternative to Mathematica, take a look at Maxima [sourceforge.net]. It's certainly not as polished as Mathematica, by any stretch of the imagination. I wouldn't recommend Maxima as a teaching language, but for somebody who just needs a symbolic integral now and then, or is toying with cryptosystems as a hobby, or whatever, it's good stuff.
Again, Mathematica has a lot more than Maxima these days. If you're a student
Re:Criteria (Score:2)
By "interactivity", I meant the student can interact with the running interpreter. (Nearly all languages allow the program and user to interact during the program's runtime.) In interactive languages like Python, Lisp, Logo, or (to a lesser degree) BASIC, the student can have a dialogue with the processor. As the dialogue proceeds, the user can define new functions and test them one-by-one, with no harness. It really does make it much easier to get started programming, which is probably why BASIC was so
BASIC and other good environments... (Score:2)
Other than that, there are a wealth of other environ
How old are they? (Score:1)
The system itself is geared towards creating 2-D games (as someone else already said, making a game can keep it nice and fun), and comes complete with a powerful yet simple
Stagecast (Score:2)
My 10 yeard old dauggter mastered it pretty quickly.
Please clairify a few things... (Score:2)
For little kids ( say below 12 years of age), you want something to captivate them. Definitely things like Lego Mindstorms, Technixs, and anything else that moves. Remember that before 12 years of age, kids' logic is not the best.
Now, if you are talking about 12 or so, then what you want is something that will let the kid start making useful programs. I'd suggest something interpreted - kids that age le
Karel++ (Score:3, Insightful)
Karel takes simple commands (for example, turnLeft(), moveForward(), or pickUpBall()) and has boolean functions that act as sensers (such as hitWall() or wallOnRight().
When coupled with basic control structures, it's a fun and easy language to learn, and most Karel implementations have a graphic display of Karel moving around its world, so a wall-hugging function like the following isn't purely academic, it can be experienced just by watching.
You can make Karel programs that solve mazes or that clear the room of balls, etc. It's obviously not a good programming language to do anything of use (although I have seen a Karel half-adder accomplished by picking up and dropping balls), it's a great introduction to OO programming that seems more like a game than education.Re:Karel++ (Score:2)
Movies (Score:5, Funny)
Sit them down on the couch, push the DVD of Hackers into your player, pour the microwave popcorn into a big bowl and have them enjoy the movie for 90 minutes. Then when the show is over, carefully explain to them that real-life programming is the exact opposite of everything they just saw.
Hope that helps,
GMD
Re:Movies (Score:1)
Disclaimer: This post is not intended to be a flame. If you are a programmer and enjoy having sex with boys, my intent was not to insult you. Although, you might want to get some help.
Something Graphical (Score:2)
The graphical aspect of progra
Smalltalk (Score:2)
Squeak is great on multiple levels:
Robocode (Score:5, Informative)
- Gef
LOGO... (Score:5, Insightful)
I have to say this, because someone recommended assembly language with a straight face.
Some things you should remember:
1) Programming languages are just an expression of a problem's solution. The less time you can spend learning to express, the more time you can be solving.
2) Teaching someone logic is really the goal at early stages. Teaching them how a computer works (i.e. - low level programming) is really just noise at the start. Teaching someone object orientation is problematic in the opposite direction.
3) Your mileage may vary by age. A ten year old learns VERY differently than an 11 year old.
4) You're probably a genious that learned to program by plowing through manuals and books and scouring the web. This makes you the exception to the rule. Most people do NOT learn this way.
5) Not everyone will be good at programming, ever, but everyone can make it further than Hello World...they can make it to the point where they are conscious that they are _creating_ something.
6) Most people benefit from immediate visual feedback. Teaching someone how to compile and link slows them down. Teaching someone to write to stdout slows them down. Slapping together something in Visual Basic and then showing them how to hook up responses gets them moving quickly, especially when they can hit F5 and see what happens immediately. VB adds other complexity, though, which makes something like LOGO better in terms of simplicity.
7) Not everyone wants to be a coding god. Some people just want to see what programming is, some people _think_ they are l33t hax0rs but don't know shit (you always get these in large classes), some people are there against their will (parents made them do it, etc)...just keep it simple and fun. Most people won't take this to be the start of a career in software development.
I used to teach programming courses for summer camps. Java is just totally inaccessible as a first language. I tried. Visual Basic actually worked very well. Object orientation is best explained by NOT explaining it (people will naturally understand what a "push button" is, but it's a waste of time to explain how it's "subclassed" from a "widget". These things can come later). Half the trick is not scaring them off in the first few weeks.
If there was a free Logo package that didn't suck, I'd have used that (maybe there is, I couldn't find one at the time, but that was years ago).
My response to it all was to develop Toby (http://icculus.org/toby/), which is a variation on Logo.
--ryan.
FutureBasic (Score:2)
REBOL (Score:2)
It doesn't have the stupid limitations of BASIC. It's incredibly easy to parse strings, retrieve data from internet, do stuff with arrays (called blocks in REBOL), TCP/IP etc. It handles user advancement pretty darn well, going all the way to GUI programming.
REBOL for Dummies is a very well-written book, although it's dated by a few versions. I strongly suggest reading it.
You can get RE
Good Luck! (Score:2)
I recommend Python, since you can write some very good programs quickly and its j
PostScript (Score:3, Interesting)
I know, I know. Calm down, breath in and out, and put the flame-throwers away. Yes, PostScript is obscure. Yes, it's not a prepositional language (i.e. modifier before object, as in English), like Pascal or Basic. It's not even remotely "English-like". Yes, it's not a functional language, like C or nearly everything else. Yes, it's not object-oriented. Yes, it's not a fasionable language or one that will prepare kids for "the real world". There isn't even a bleeping "For Dummies" book for PostScript. Et cetera, and so on and so forth. Blah blah blah.
But PostScript does have a lot going for it, due in part to its wierdness:
Printing and publishing are great "nerdy" hobbies for kids. I used to help my parents collate the books they wrote, photocopy hand-drawn illustrations on to the dot-matrix print-out from our Apple IIe, and trouble-shoot Apple Writer II and the printer. It turned out those skills (as prerequisites) ne
Not BASIC (Score:2)
Many Choices (Score:3, Informative)
1. Squeak. (Based on smalltalk). Graphical environment that has all sorts of 3d, sound, voice, etc stuff to play with. Everything is editable, down right to the squeak environment (of course this isnt mandatory, but can be done). Squeak kind sucks for professional work (its kinda slow, being an emulated environment) but is great to teach stuff on. Heck, it even has a part that kids can "program" without writing a line of code (using a visual paradigm that I dont have the most experience with, sorry). (oh, btw, squeak runs on all platforms)
2. Logo. Yup, still alive and kicking. Also runs on all platforms. If you want to teach multiagent systems, then you can look into *Logo (star logo).
3. Boxer. A mac only thing that has a lot of educational properties.
4. Toon Talk. Oriented on the younger crowd. Uses a lego like code building process to solve missions. Only for windows i think.
Any way, those programs should more then enough provide an educational start in programming to the younger audience.
QuickBasic (Score:2)
If you want some expert advice... (Score:2, Informative)
Kids pick this stuff up automatically. (Score:2)
Back in the early 80's, my parents gave me a computer in reward for learning to count to 20 (the number of stairs in our house). I don't actually remember this (I was about 3?) but supposedly I just played games on it and crap for a while.
However, I do remember that I was programming when I was 5. Sure, it was crappy BBC BASIC, and my programming was all:
I
Re:Kids pick this stuff up automatically. (Score:2, Interesting)
Infact, I've met coders with just a few years' experience who can kick my ass. Despite the early grounding, it appears I turned into a generalist rather than a specialist. Perhaps this proves that nurture is not everything..
HTML and PHP (Score:1)
We just started a programming class at our high school using HTML and PHP. This is our first programming class and it has been a resounding success. The students are learning something that they can immediately put to use, and they'll be able to use it almost everywhere. It is very cross platform, all they need is a text editor.
A good side effect is that we can help teach website design. Hopefully 20 less crappy websites when these students go out into the world.
Real life preparation (Score:1)
Feedback and Showing Off (Score:3, Interesting)
Interesting that this question comes up now, as I'm just starting to teach programming to a 12 year old.
One of the first things that I worried about was what language to use. After some thought, I decided that as long as a few guidelines were followed in language choice, it didn't really matter. The most important things were:
Language considerations came from that:
This all translated into a text editor, PHP and assignments uploaded to her site. I seriously considered Perl and Python (especially Python - as it turns out that would have been very handy for teaching proper style. The concept of whitespace and proper indenting is surprisingly difficult to instill ;) ). PHP isn't my favorite language for a lot of reasons, but it's fine for teaching control flow, logic, data structures, modularity. It was handily available on her server, and meant she could show her work to her web friends right away. Python might be better in a classroom situation, because there's a pool of people with a similar environment that work can be shown to.
At any rate, we're only three lessons in, so this is still in the expermintal stages. But if you're interested in swapping experiences, reply to this and I'll leave an email address.
Game mods (Score:1)
Teach them the true purpose of Computers ... (Score:2)
Hacking. Get his older sister a SprintPCS phone and the next month take him to SprintPCS - show him how to put in her phone number and the default password and get a complete list of all the people she has called, times and dates. Show him how to go onto her computer and read her AIM logs, look through her Internet Cache for
Re:Teach them the true purpose of Computers ... (Score:2)
<joke>
Slashdot. Teach the kid the fine art of karma whoring. Or maybe even trolling. It's great for the ego! Teach them to turn on the "show link target" option so they don't go to goatse.cx. Teach them about the insensetive clods chasing Natalie Portman with a bowl of hot grits through soviet russia while you build a beowulf cluster of CowboyNeals.
</joke>
I can't believe you forgot this.
penguin, uhm, turtle graphics (Score:1)
I am working on a library to help newer programmers get started with programming. The first section uses something like turtle graphics, but it is all written in and controlled with python and pygame. The first game is pong. There are also a bunch of demos and a couple of other games with the distribution. It is available at: http://www.nongnu.org/pygsear/ [nongnu.org]
Creating (Score:2)
I would start out by having him (male for the sake of simplicity) play old games... games like Jetpack, Al Lowe's games [allowe.com], text-based games like Tradewars, Zork, Adventure. There are three reasons for this: One, these are games I remembered playing as a kid, and loved. It'd be great to rediscover them through your kid's eyes. Two, they're cheap. Every single console cost $100-$200 when it came out, with its games costing ~$
Pascal (Score:2)
Turing (Score:1)
The language was designed for teaching, and I've found that it does a good job of enforcing concepts. For example in BASIC the = is used both as assignment and comparison, while in Turing you use
Syntax-wise, Turing is pretty much Pascal with a few tweaks to it, so it's not nearly as difficult as grasping something like C right off the top. Even better would be something like OOT (Object Oriented Turing). Like C++, it
Two possibles... (Score:2)
My other suggestion is Blassic [arrakis.es] - a "classic" BASIC language, GPL'd and everything. There are a ton of examples, though some take a little muddling through in order to understand since the variables
LOGO (Score:1)
For serious, older programmers - 14-18 teach an OO language. I started on Ada, the
The authoritative answer. (Score:2)
Don't. Start them early on Law, and get them into law school. Programmers are unemployed. Doctor's can't afford to stay in business. Small business are risky. Middle managers get laid-off. Lawyers always have high paying work. Especially in Michigan I hear.
Allright, before you mod me off topic - you can go ahead and teach them some real basic VB/Access skills so that they can then be lawyers in the tech industry, and ma
MOD PARENT UP! (Score:1)
Python has already found a place in some high-schools - and has been a wild success. [onlamp.com] It's popularity exploded far quicker than they imagined. I became a python convert after about 20 minutes of following a few excellent [hetland.org] tutorials [hetland.org] one rainy sunday afternoon. I found myself writing incredibly useful little scripts for almost an entire week. Try it and you'll see how easy it is to learn. It should be a piece of cake for intelligent kids.
Other people have mentioned Visual Basic. W