Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Best Way to Get Kids Started in Programming?

Cliff posted more than 14 years ago | from the getting-started-at-an-early-age dept.

Programming 777

kbh3rd writes: "A couple of my kids are starting to make noises about learning to program computers, just like their old man. 8^D I'm totally unsure how to start out. I'm a *nix geek, but I don't know if they'd keep interest if started with 'main () { printf ("Hello, world!\n") ; }' and command-line gcc. They almost exclusively use Win98 because that's where their games run. I can't believe I'm saying this, but maybe they should start with something where they could get some Windows programs going, like VB (shudder) or Delphi? What language/development environment would be best for kids aged 11-13 who think they want to learn some programming over the summer? And what are some good books they might start with, too? "

Sorry! There are no comments related to the filter you selected.

I would get flamed for this, but anyway... (1)

dragisha (788) | more than 14 years ago | (#1044333)

Don't do BASIC or C* misfavor to your children. Delphi is also bad choice because it is hybrid of everything and children can't fight it's complexness without danger to development of basic programming techniques and notions.

Any Wirth's language would be good choice. Simpler-better, and with Windows in mind I would probably choose Oberon-2. www.oberon.ch [oberon.ch] I think is good starting point.

Old Hardware, Better Manuals (1)

XPulga (1242) | more than 14 years ago | (#1044340)

First of all, things like OLE, CORBA, JBuilder and Visual Basic aren't good for kids. I would say they're not good even for adults, but that would make this a flamebait.

My personal experience was with an 8-bit computer called MSX, common in Japan, Europe and South America. It was based on the Zilog Z80 3.58 MHz CPU, had 64K RAM (usually) and a 32K ROM BASIC.
It plugged in the TV.

The manuals were wonderful, a complete reference for BASIC plus hardware specs for all I/O. A good intro to computers and programming logic too. Books teaching Z80 assembly were plenty at that time (circa 1988), I managed to learn how to program on it easily when I was 9-10.

If you never loaded and saved programs from/to an audio cassette tape (at 2400 bps) you should definetely get an 8-bit computer (MSX, C64, Apple II and the like)!

If you can't get a simple system, restrain the working domain. Kids should be able to know the difference between the editor, compiler, and runtime environment (if any). DOS/Windows programming environments usually mess all these into one furry thing, from Turbo C++ 2.0 to the latest.

PERL would be a nice pick, I just don't know any books directed especially to kids. Suggestions ?

Teaching an editor other than vi would be a nice pedagogical pick too, at least for kids :)

Although it's not programming... (1)

talks_to_birds (2488) | more than 14 years ago | (#1044349)

...I'd start out with a text editor and html.

Kids seem to get off on putting up a web page, mainly because it gets really visual *really* easily, and it does teach at least attention to correct syntax.

After that, I did a BASIC class for forth-graders for a year as a volunteer at a local school and the kids really dug it.

It is BASIC, of course, with all that means, but we wrote some stuff that manipulated the screen, and did some simple games, and it was pretty fun...

...but, sh*t, that was years ago on boxes that were DOS 6.2 and WinFWG; there isn't a BASIC that's on these new Win95/Win98 boxes that I'm aware of..

t_t_b
--

Use Python, and no RAD tools (1)

tjansen (2845) | more than 14 years ago | (#1044352)

I would recommend to use Python as a first language. It is less-cryptic than most other languages (perl, Java), is multi-platform - so your kids could also program for Win - and there are libraries for almost everything.
I would not recommend to use a RAD environment like Delphi or VB. Of course, a RAD tool lets them create form-based applications faster, but in the end it is more frustrating, especially as kids usually are not very interested in form-based applications... RAD only makes sense if you understand the generated code completly and write the kind of programs the RAD tool was designed for.

Mindstorms, MegaZeux or Python (1)

richieb (3277) | more than 14 years ago | (#1044356)

If you want to spend $200 get them the Lego Mindstorms kit. They'll get to build and program robots. When they get good, they can go past the silly language provided with Midstorms and move to NotQuite C and Linux for downloading code into the 'bots.

MegaZeux is a DOS/ASCII graphics game creation system (see: http://mworld.rydia.net/mzx.shtml [rydia.net] ). My son learned to program Megazeux by himself when he was 9. He just downloaded MegaZeux games and read the code. The nice thing about MegaZeux is that the end result is a computer game, so that keeps kids motivated.

Python should be great for kids, but you have to come up with some problems they would like to code. What do you do after "hello world"?

...richie

Good starting language (1)

cblack (4342) | more than 14 years ago | (#1044364)

One of the most important things in my mind about choosing a first language for a younger person or new programmer is that they keep interest. Therefore I think a major requirement should be that they can do something neat (and perhaps even useful) without too much trouble or overhead of learning tons of stuff.
Therefore I believe that Perl or Python are good starting languages. With Perl they could easily make text-based games for eachother or their friends, and after awhile make a pokemon card database or card builder or something. Doing something like this in C takes much more time for a new programmer. I highly recommend the book "Learning Perl" for a new programmer since the first chapter leads the reader through an increasingly capable program (I think one of them is an app to track grades or something).
Python might also be a good language, but there is some 'learning overhead' to object orientation.
It us understandable to be surly sometimes.

Re:Web programming (1)

theFerret (5139) | more than 14 years ago | (#1044368)

I would agree. The first places that I refer people who are interested in web development is Perl and PHP. I've written tons of both of these languages and I think that they've got a very low barrier to entry and yet they're both incredibly powerful. These two are not limited to just web development, however. As we all know, Perl can do damn near anything and PHP can even be used to control the OS now whether it be Unix or Windoze (http://phpbuilder.com/columns/darrell20000319.php 3).

Perl, nice and easy (1)

Ben Smith (5358) | more than 14 years ago | (#1044369)

Its interpreted, so you get instant feedback. Its a higher-level language then alot others, and its alot nicer then VBscript. Plus, if someday your kids move into the *nix world, they can tote their old code along with them easily.
-Ben

BASIC was great, today it is not so eazy... (1)

Pretender R*S (8816) | more than 14 years ago | (#1044385)

I think a "visual" programming language is a wast of time. Mostly it is usefull for writing reports.

Basic on the Apple and Comodorre 64 were great!

You didn't need to compile! That was pretty nice, just write and run. It was pretty easy to do basic line graphics, there were readily available text games (like Emon games on Apple II) that were easy to modify as a way to learn the programming.

Logo is decent as well. (it is NOT just the turtle). Pascall has was a nice formal language, on the Mac it was easy to integrate with GUI stuff.

I still think Perl should NEVER be a first language for anyone.

I have been wondering about python, with some of gui toolkits as a first language, but there is no decent collections of python childrens programs...

Hmm... (1)

Pope Slackman (13727) | more than 14 years ago | (#1044411)

I started when I was around 10 using BASIC (I'm ~20),
but I don't know if I'd recommend that because
I found it fairly hard to pick up C after years
of being fluent in BASIC.

Perl might be a good idea, as it's got a similar
block structure to C, but without the more involved
things like pointers and casting.
(Which are definately something that needs to be
taught/learned, but prolly not right away...)

I don't know mych about Python, but I hear it's good for
teaching OO programming.

Both Perl and Python have TCL bindings so they
can play with GUIs if they feel so inclined.

Just some suggestions...
--Kevin

=-=-=

What about VBScript for starters? (1)

stx23 (14942) | more than 14 years ago | (#1044415)

OK, if they are likely to be using Win98, you could start with WSH/VBScript for a basic understanding of the innards of the computer, then from there scale up to web type stuff with VBScript in Active Server Pages, and from VBScript to VB. OK, it's quick and dirty, but it's pretty easy to throw a small program together, and fairly easy to debug. If they can get to that point and still be interested, I'm sure you can hook them into a 'real' programming language & operating system...

Re:Turtle (1)

stx23 (14942) | more than 14 years ago | (#1044416)

Don't you mean Logo [mit.edu] ?

Games! (1)

MeanGene (17515) | more than 14 years ago | (#1044420)

Tell them they can play computer games for as long as they want - but they'd have to code those games themselves. ;-)

I'll second that (1)

Crag (18776) | more than 14 years ago | (#1044426)

I started with Turbo Pascal 3.0 on MS-DOS 2.2. I was 10. Don't assume they won't be interested. Admittedly, I didn't have a lot competing for my attention, but I spent a lot of time pouring over the manual figuring out how to draw lines, read the mouse, make linked lists, parse input, and of course draw fractals.

Show them the command line, show them hello world, show them Debian, show them gnome, show them Python and C. If they don't like it, they'll tell you.

Heh.. (1)

BilldaCat (19181) | more than 14 years ago | (#1044427)

Actually, when I was 14, I started running a WWIV BBS, and I was probably one of the few who actually registered their software and got the code, which was C or C++.. can't recall.. or was some mutated form of C, I remember people referring to it as "WWIV C" for some reason.
Anyway.. I cut my teeth on that, learning how to make small modifications, installing mods around the net, and stuff.. it really wasn't that tough.. as long as you can find a subject that interests them, I think they'll be eager and willing to go through some code.. at least, that was the case for me, I -loved- running my BBS and tweaking with it.

Definately Python! (1)

CAB (19473) | more than 14 years ago | (#1044428)

... because good habits are essential to success in programming and success is important to maintain interest.

Python builds on good habits; controlling program flow through indents and so on.

Python is increasingly used in education due to it's design.

It's free and crossplatform.

Another alternative could be web programming of some sort.

Best regards,
Steen Suder

Python with wxPython (1)

richardmguy (30306) | more than 14 years ago | (#1044444)

Teach the children well, start them with a readable language that catches many mistakes learning prgrammers make automatically, let them get exposed to OO and make nice gui apps so they will feel like they are ding "real" programming. Which of course they will be

BASIC worked for me (1)

tbo (35008) | more than 14 years ago | (#1044463)

I taught myself BASIC from a book called "Kids to Kids: BASIC on the C64" when I was about 8 or 9.

I think any simple language would work. Scripting languages are a good start for a GUI-based OS. You could even try them with Java. The simplicity of creating UI would probably appeal to them. Of course, then they might be making more than you by the time they're 16 ;-)

Re:Games! (1)

roca (43122) | more than 14 years ago | (#1044480)

That's how I got started in programming! For my first computer, my dad lugged home an old DTC-80 machine from work. The 8" floppies that came with it had exactly two useful programs on them: MS-BASIC, and a Fortran compiler. Of course no-one I knew had ever heard of this thing so there was no hope of "trading" software. So I started playing around with MS-BASIC and trying to clone the stuff I'd seen on other people's machines, in magazines, etc.

Unfortunately, today there are so many games, and they're so good, that there's little incentive for kids to do anything but use what's there.

Logo (1)

mmarcos (45149) | more than 14 years ago | (#1044482)

Go to this MIT site [mit.edu] and check out the background on Logo. There are various implementations.

Try Python (1)

rjones (46611) | more than 14 years ago | (#1044486)

I/m writing this on a Win 98 machine at Work, I have Python on here. You can try it. Download all you need from python.org. It's a pretty easy language to learn, and fairly powerful too.

Turtle (1)

Joe_NoOne (48818) | more than 14 years ago | (#1044489)

I remember somewhere when I was kid in the late 70's they had something called "turtle" to hook younger kids. You had a turtle on the screen and you wrote code to make it move around. I also remember (what I got hooked on) for TRS-80's was "Dancing Demons" which you wrote scripts to make dance routines for the daemon. The thing to remember is "instant gratification". They want to see something really cool happen with not alot of effort. That gives them the confidence to delve into the harder languages/tasks..

Straight up C++ (1)

soma813 (50633) | more than 14 years ago | (#1044492)

I started at 11 with Borland Turbo C++ 2.0, real standard and simple with the iostream joys of C++. It is simple enough that it doesn't cloud the experience with a huge gui, but it runs on win32. I remember an announcement a few months back about Borland giving away old abandonware, so turbo c++ might even be free.

bring 'em up right...on Unix (1)

Mindcrym (52114) | more than 14 years ago | (#1044493)

Raise your kids on Unix and C(++). Windows may not be around by the time they're old enough to hold jobs as programmers. Unix and C are going to long outlive any OS from Microsoft.

Start small (1)

BenLutgens (56508) | more than 14 years ago | (#1044503)

Put them on a linux box. teach them the shell. Then teach them shell scripting. Show them emacs and vim. Get them to use it for daily activities. But I would say never start them with windows...YUCK!

Visual Basic == Fisher Price (1)

PanDuh (56522) | more than 14 years ago | (#1044504)

Visual Basic is sort of like a Fisher Price "My First Programming Language"

The drag-and-drop methodology keeps it simple for the kids to pick up, and the object-based nature gives them a headstart on true OO programming. Visual Basic also tends to have more non-esoteric keywords (unlike perl) so it might be more intuitive and a little easier to follow. Once they master Visual Basic, then can move on to more advanced languages like Perl, Java, and C.

BTW, you should start weaning them onto UNIX. Maybe you can install Enlightenment Window Manager, and show them how much cooler it looks than Windows. They'll slowly gravitate to it after that.

Build Logic Skills First (1)

powderhound (58009) | more than 14 years ago | (#1044508)

I first started programming in a High School math class. The teacher would not even let us touch the computers until we had flow charted, to his satisfaction, the solution to the problem (e.g., Pythagorean theorem). This was an immense help over the years.

I've run into many people learning programming languages that could not code their way out of a paper bag, because they did not understand how to fit the logic together. In other words, they were never able to think like a computer.

So I recommend, regardless of which language you choose, you immerse them in logic before you give them the language. It will make more sense to them when they actually see the language.

Pascal is Easy to Understand, HTML a Great Primer (1)

EverCode (60025) | more than 14 years ago | (#1044510)

I believe that Pascal has probably the easiest-to-understand syntax of them all. Get them going with the basic text processing stuff.

They are not going to be able to jump into OOP GUIs and stuff...

Also, HTML is actually a good primer for programming, I would highly recommend teaching them that first.

EC
"...we are moving toward a Web-centric stage and our dear PC will be one of

BASIC (1)

CaptSwifty (61835) | more than 14 years ago | (#1044513)

I learned to program with BASIC, specifically, QBASIC on an MS-DOS machine. I don't think that Windows 98 comes with QBASIC anymore, at least mine didn't. It's a relativly easy language to learn, and once they become proficent, they'll want to be able to do more things, and that will lead them to higher level languages.

Intro to Programming (1)

crystal dragon (69701) | more than 14 years ago | (#1044535)

Why don't you start with something that has some instant visual appeal and gratification. Young children like immediate results, when they get that they become motivated to learn. If they are using Windows 98, you could get them started with Visual Basic, it has both visual and code elements and is fairly easy to understand. You can always move them over to Unix and other languages when they become more sophisticated in their use of computers. HTML, although not a programming language, would also be an option for challenging them in a way that provides instant feedback. It could excite them to learn even more.

Python! (1)

vulgrin (70725) | more than 14 years ago | (#1044539)

Check out the latest Linux Journal, with its Python supplement. There's an article in there by Guido about using Python in education, and he's a HUGE supporter of it and is pushing it in my local area schools. (Washington DC Metro)

I haven't done python yet myself, but just from that supplement, I'm ready to dive in. :)

Vulgrin the MAD

BASIC does what it says (1)

lactose99 (71132) | more than 14 years ago | (#1044542)

Maybe I'm a little old-fashioned, but I always thought that BASIC made a good initial lanaguage. Its relatively easy to learn, and it starts down the right track for learning good programming methodology (except for all the GOTO statement limbo), instead of using a clunky RAD-type language.

I'd say that if your kids want to learn how to PROGRAM, not how to whip-up a quick-and-dirty app, then BASIC would be a good start.

Personally... (1)

LRJ (71361) | more than 14 years ago | (#1044543)

I would suggest any of the RAD tools (Delphi, C++ Builder or VB [if you have to]). These tools will allow them to create basic programs with a minimum of code to start and they can then add more advanced stuff (real code) as they learn the tools. I haven't purchased Delphi 5 yet, but I do know that the C++ Builder 5 (Pro) even comes with extra 3rd party libraries and tools they can use to start playing with making their own games.

Java (1)

Desdicardo (71571) | more than 14 years ago | (#1044547)

I would suggest starting them with Java. It's a well thought out language, has a good library base, and you can get graphical programs up and running quickly.

Re:I started on BASIC (1)

mparcens (76207) | more than 14 years ago | (#1044561)

Yeah, same here.. I started out in good ole' BasicA...

Just as you learn Algebra before attempting Calculus, I think Basic or Pascal provides a good introduction into programming. It lets a kid understand the notion of variables and procedures without having to worry about memory management or whatnot...

_________________
JavaScript Error: http://www.windows2000test.com/default.htm, line 91:

Re:What about VBScript for starters? (1)

bmabray (84486) | more than 14 years ago | (#1044574)

Just be careful if you get an e-mail from them on Father's Day that says ILOVEYOU... :-)

What about LOGO? (1)

jmv (93421) | more than 14 years ago | (#1044597)

I think you should consider the LOGO language. It was the first language I ever learned. I was 7 years old and we had an Apple IIe at school. What's nice with it is that at first, you can just draw with the "turtle" and then start writing simple functions fo "automate" the drawing, ... It is well designed, simple to understand, and can be used interactively.

Pascal is a good language too, but they have to be older. I definitely wouldn't suggest C or C++.

How about Lego Mindstorms (1)

bornholtz (94540) | more than 14 years ago | (#1044600)

I'm sort of teaching my 7 year old son about programming using the graphical development environment that comes with the Mindstorms.
He is still in the early stages of programming it and learning basics like conditionals and loops.
I figure that when he outgrows the graphical environment I can get him a C compiler or any of the other environments to create Mindstorm programs.

Win32 Perl (1)

pnevares (96029) | more than 14 years ago | (#1044602)

I say install perl on their win32 machines and teach them Perl for Win32. Then show them how to adapt it to *nix, and go from there.

It starts them in their native enviroment and moves them over once they're comfortable.

Good luck!

Pablo Nevares, "the freshmaker".

I'm also interested (1)

Sadfsdaf (106536) | more than 14 years ago | (#1044639)

I'm currently 14 and really into linux. Last summer, i learned linux, and i've been really into it since then. Summer vacation just started for me 2 days ago, and i want to finally learn some programming language this summer. I need some advice on what the learn too. VB is out of the question since i want to be about to program in linux and i don't want to fork over 200 bucks for some M$ compiler.

I'm considering to try to learn C, but C++ seems like a good idea too, i don't know what to learn first. It seems that books for other languages assume you know C, so i guess i'm going to learn that...

Anyone have any advice on what i should learn and/or what books I should get to learn?

Any advice would be appreciated.

Calculators.... (1)

Wing (109277) | more than 14 years ago | (#1044650)

Definatly calculators... Thats a great way to start programming... Get them a TI or HP (if they don't already have one) and thats an easy platform to develope on... In both a basic on-calc language and a more complex assembly language...

hate to say it, but... (1)

Mr. Sketch (111112) | more than 14 years ago | (#1044655)

As much as I'd hate to say it, but I think languages like VB would be best to learn on at that level because the language is at a much higher level and you can concentrate more on making the computer do what you want to instead of obscure syntax issues and lowerlevel details. Of course, after they become comfortable with the ideas and concepts in involved in programming, they can move to more detailed languages. I personally learned on (read: taught myself) Borland Turbo Pascal, but it wasn't long before I moved to C and x86 assembly and I would imagine that the trend is similar for most people and even colleges will have intro classes with a higher level language (or even a functional language).

But definatly starting with VB or Delphi or any high level language that doesn't have an unusual syntax would be best I think.

Intro to Programming (1)

jejones (115979) | more than 14 years ago | (#1044671)

Depends on the age. The stock answer for small children is Logo and Smalltalk, though you might want to check out ToonTalk [toontalk.com] .

People have already mentioned Python. I'd give some consideration to Dr. Scheme or to Haskell (the latter especially in view of the recent book The Haskell School of Expression).

The kids will work it out for themselves (1)

Sits (117492) | more than 14 years ago | (#1044676)

Leave some easily accessible languages about and tell the kids about them. Something like pacal/delphi is way too structured - who doesn't remember using a goto in basic?

When I was young I got into programming by typing in listings of other people's code from magazines. I don't know why this helped but it gave me a feel for using the computer without having to think of anything specific to program. Thus I got a feel for the programming environment (BBC Basic) and learnt how to TYPE which is helpful if you intend to program.

I also remember at school one of the most popular things to do was modify other people's code. Many hours were whiled away turning a single player snakes game into a four player death match. Bugs were reported by those who wanted to play the game while others debugged on a different machine.

Delphi/Kylix (1)

krachyn_ec (118005) | more than 14 years ago | (#1044679)

Personally, I prefer Delphi to VB any day. I never could wrap my brain around VB. Go Figure.

With Kylix on the way, a good start in Delphi will be relatively easy to translate to the Linux platform and the similarities to C syntax will make a transition to C (maybe C++) fairly easy.

My two cents.

JavaScript (1)

mikol (121322) | more than 14 years ago | (#1044689)

It's not the most elegant technology, but it will certainly get anybody started programming. For kids, it will allow them to do something interesting with web pages. It's fairly trivial to start with more interesting feats than "Hello, Word!" They can make clocks and background changers, etc. Also not limited to Windows, or *nix for that matter.

I started on BASIC (1)

ca1v1n (135902) | more than 14 years ago | (#1044751)

I started out with BASIC in 2nd grade. My dad got me into it as soon as I could sit in the chair in the computer room. Now I'm into C++, and I can program stuff he could only dream about in college. Hopefully, my kids will be hacking the kernel by kindergarden.

Something visual? (1)

OsCarJ (141083) | more than 14 years ago | (#1044761)

I would suggest something visually oriented like Visual Basic. Especially if they're used to playing games. It's more likely to keep their interest if they can draw an interface and then learn the programming concepts to make it do what they want.
Unfortunately the only option I know of off hand is VB. Anyone know of any non-MS alternatives out there? I guess HTML would sort of fit that desc.

VB is the way to go (1)

bool (144199) | more than 14 years ago | (#1044770)

I was 12 years old when my dad brought home a copy of VB. I started doing the basic tasks with it... like having my comptuer wake me up in the morning etc etc etc. I would hands down choose VB for the young starting coder because of its point and click interface and basic structor and objects. You might even consider teaching them some HTML...

My vote - Perk/Tk (1)

Mad Ivan (150421) | more than 14 years ago | (#1044793)

I would recommend Perl/Tk. Portable (Win9x, W2K, *nix, at least). Graphical. Gives a (fairly gentle) introduction to object-oriented programming. May even have some utility in the "real" world. ;-)

Start with Java (1)

_xeno_ (155264) | more than 14 years ago | (#1044806)

Personally, I'd recommend starting with Java. Most major colleges with CS programs use Java in their introductory courses. With garbage collection and a fairly easy to use API, kids can very quickly and easily get something to appear on the screen. And since it's a virtual machine, they won't have to worry about accidently trashing the system - they shouldn't be able to access the power to do that.

Java has some problems which prevent it from being used in serious applications, but it should be fine to use for people just starting out. It takes away much of the complexity about programming, and contains many functions that make it easy to do things that should be simple. It's also powerful enough to lead them into GCC.

Plus, the SDK is free (as in beer), so that the cost is low. (And if you don't mind signing a NDA, you can actually get the source...) It also has some Linux support, so that programs they write can run under Linux, but they needn't leave Windows if they'd rather not.

There are plenty of tutorials and documentation that can be gotten off the web and the documentation which can be gotten from Sun is fairly comprehensive.

The link to the Sun page is http://java.sun.com/ [sun.com] and there are links to the various JDKs from there. (Direct link to the JDK 1.3 page [sun.com] is here, but it's missing non-Windows support right now, so the Java2 Second Edition [sun.com] page may be a better place to start.

Good luck!

Java with a good class library (1)

SlightlyMadman (161529) | more than 14 years ago | (#1044825)

Java can be an incredibly easy language to learn and work with, if you have a sufficciently functional and well-designed class library. Write some classes that take care of everything they'll need to do, quickly and easily, and focus on teaching them the basics of logic and OOP. That way, they wont have to unlearn all the nasty coding techniques they picked up from BASIC down the line (like I did). AND, you get the advantage of platform independence. They can learn in in win32, but still be able to use it in *nix.

LegoKAREL (1)

albamuth (166801) | more than 14 years ago | (#1044836)

Ah! Mindstorms are awesome! There must be a way to combine the KAREL API with Mindstorms to make a physical KAREL, if someone hasn't done it yet.

Karel the Robot (1)

albamuth (166801) | more than 14 years ago | (#1044837)

is what I started playing with in school.

http://www.mtsu.edu/~untch/karel/ [mtsu.edu]
http://ocweb.otterbein.edu /csc/cs115/web/karel/karel.htm [otterbein.edu]

Karel is programmed in Pascal, which in turn is an API done in C. So a good way to proceed is have them master Karel, then program in Pascal, then C, then C++, Perl, Java, etc. My father once tried to teach me ALGOL and COBOL but being mainframe languages they were not very accessible. You can do a lot with just Pascal, however, and anyway the APCS test in highschool I took was in Pascal. After that, they'll either get into by themselves or just kinda lose interest in programming (like I did).

Re:games games games (1)

^_^x (178540) | more than 14 years ago | (#1044867)

Wow... have you read any studies on that? I used to play the old Space Quest games (like 1-3) when I was little. The first thing I learned on computers was moving around in DOS so I could get to the games. (Our XT was blessed with a 40MB HD, so we could actually fit quite a few games and stuff on there.)

The comment about music is really interesting though... Right now I'm hooked on the Japanese "Beatmania" game series. (Beatmania, Pop'n Music, DDR, BM98 on the PC, etc etc...) and I wonder if there's a kind of proven corelation. (I've also found that after all that coding I did in BASIC in my early days, learning Japanese was very easy... of course you can only learn so much in 4 years...)

Microsoft was cool once... (1)

^_^x (178540) | more than 14 years ago | (#1044868)

I remember I got started with a copy of MS QBASIC.
It was awesome, forgiving of little mistakes, and the online help system was the best I've seen for any programming interface yet. I think I was about in grade 4, but I took right to it and made all sorts of little beginner apps. (Screensavers, practical jokes, joystick scribbling programs...)

It helped out immensely when I took the C++ programming course in grade 12 because I already had the theory down for writing a program, and the right train of thought for laying out the code. I only lost marks for things like not writing out a planning sheet, or failing to document my code in an easy to follow manner.

I'd say start with some kind of BASIC for sure... It also made my TI-83 calculator easy to use straight out of the box. ^_^

I was once a wee little nerd girl (1)

megcass (179285) | more than 14 years ago | (#1044870)

And I started programming in BASIC and LOGO on our Apple IIe when I was 7. Of course, this was when Apple IIe's were state of the art, so I wasn't used to snazzy interfaces or anything. Just the fact that I could MAKE the computer do what I wanted it to do was simply amazing to me. Hopefully it will be for your kids as well. Don't underestimate your kids - I begged my parents to find me a class I could take to learn more, and they found me the logo class - I was 7, everyone else was over 30. If they want to learn, they will, definitely. Hook them up with what you think is the best, and they will soak it right up. Good luck!

I'm a kid too (1)

kingkai27 (180231) | more than 14 years ago | (#1044885)

I'd like to know the best code to start programming in, one that would be simple enough to learn with little fustration, and would help in more advanced programming. help would be appreciated. thanks.
Rock 'n Roll, Not Pop 'n Soul

Cross platform if possible (1)

GregFoster (183492) | more than 14 years ago | (#1044895)

Well, if you need to restrict your choices to something that runs on Windows (due to a limitation such as the games example you mentioned), then at least make sure it is / soon will be a cross platform tool. Like Delphi, or maybe Perl/Python and a graphical IDE/shell. Python might just be a really good choice, since one of the audiences for Python is supposed to be beginning programmers (Not to imply that if you use Python you are a beginner, BTW - I think it is pretty cool tool myself).

That way, if they get into it, you could eventually switch them over to Linux or *BSD and they could still have similar, if not the same, development tools.

And by that point, there should be even more games for Linux, so maybe you can wean them totally from Windows.

Just a thought. Best of luck, regardless of of what tool you end up choosing.

Basic (1)

mizhi (186984) | more than 14 years ago | (#1044901)

Well, I learned logo on old Apples in elementary school. ("learned", as in, I could draw a few shapes with a turtle), and I guess that planted the seed, but what really got me going was learning basic to write a breakout clone as a freshman in highschool... then it just kinda took off and whatever I could get my hands on and chomp into as a programmer keyed me in. I mean, classic geek... why do it? Cuz, it's cool... and I can! =)

Back in the day (1)

Jordan Block (192769) | more than 14 years ago | (#1044916)

I learned my first bits of programming (if you could call it that) in Hypercard for Mac (EWWW) way back when I was 8 or 9. I then moved on to BASIC, which is probably the best "begginers" language. VB really isn't much of a language, IMO, but lets not start a flame war today, although it may work ok as an intro, although it will give your kids an unrealistic perspective on programming, same thing goes for Delphi.

C/C++ are pretty boring at first, but maybe you could write up a little graphics lib in inline ASM that they can learn to use, that way they can make something graphical without having to learn the nitty-gritty junk in windows programming.

Programmable Calculators (2)

grahamkg (5290) | more than 14 years ago | (#1044968)

My first serious programming was on a TI-30. Well, that's not quite right. It was on a slide rule. ;-)

Imho, real computing involves numbers. If they can't do that - or if they don't want to do that - that's cool. Not everyone is going to be a programmer. (I hope I remember that as my little one makes her choices in life.

Graham

How 'bout LOGO for kindergartners? (2)

alumshubby (5517) | more than 14 years ago | (#1044969)

For kids who have just begun learning to read, LOGO might be a good choice; it's got a dirt-simple command set, and programming the "turtle" to draw graphics is fun. In fact, now that you've reminded me of it, I think I'll show it to my almost-five-year-old this weekend.

programmable home machine (2)

Nemesys (6004) | more than 14 years ago | (#1044970)

One of the tragedies of computing in the 1990s is the unavailability of programmable home compuetrs. In the 1980s, kids could experiment to their hearts' content on home computers, which had BASIC interpreters built in.

Nowadays, they have nothing.

Get them _creating_, then programming... (2)

Stiletto (12066) | more than 14 years ago | (#1044976)


What first got me into programming was a little program for the Commodore 64 called "Arcade Game Construction Kit" All it was, was this gui thing that let you create sprites and sounds background drawings and make a little top-down run-n-shoot game out of it (think "Rambo"). There was no programming involved, it was really fun and easy, and it got me thinking about things like system resources and what could and could not be done with that particular machine.

Well I enjoyed and used that program so much that after cranking out 3 pretty cool games, I began to outgrow it.

Next thing my dad knew, I turned 14 and for my birthday I asked for the C64 programmer's reference guide (basically a big thick book detailing the 6502 (?) assembly language) and the rest was history!

I didn't really even know about "high level languages" like C until I was around 16.

Java tutorial for kids(WAS Re:Why not Java?) (2)

Yosemite Sue (15589) | more than 14 years ago | (#1044981)

A resource for those interested in introducing kids to programming - last year, we held a conference for Grade 9 girls, and the sessions I led made use of "The Virtual Family". This applet (and tutorial) was designed to interest junior high school kids in programming, and teach them some fundamental Java concepts while allowing them to mess around in the code, make changes and see the effects. Most of the kids enjoyed it, and several of the really keen ones requested copies for home.

You can The Virtual Family applet from the SWIFT site [cs.ubc.ca] . They will send you a cd containing the source code and the tutorial (which is the coolest part IMHO) if you sign a NDA.

YS

My start (2)

EricWright (16803) | more than 14 years ago | (#1044986)

Lessee... Around 8-10, it was BASIC on a TRS-80. Then, as a HS senior, a semester of C that was all but forgotten. Next, as a sophmore in college who was beginning an undergrad research project, it was FORTRAN 77 on VMS (later HP-UX). As a grad student, it was an eclectic mix of F77 and F90, with an intro to C++ thrown in. Then I picked up PERL so's I could do some personal web projects. Finally, when I got a job as a software engineering consultant, it was on to (PL/)SQL.

I can't think of a one of them that I'd want to START on... Maybe FORTRAN. It's a very straight forward language for the most part.

Eric

Here's what worked for me! (2)

exa (27197) | more than 14 years ago | (#1044999)

I started programming when I was 12.

* I started by writing small programs and games in Atari 800 XL's BASIC.

* I tried to learn Assembly, but I just couldn't understand all those wacky mnemonics. Though, I did write some hardware code.

* I wrote with AmigaBASIC on the Amiga500. My next language was AMOS, which I still find to be pretty good as a BASIC variant.

* Then I learnt 680x0 Assembly, and I wrote intros/demos with that, and learnt hardware access. 3d gfx was my fave.

* I learnt C and Pascal on the Amiga. I was using a pirated version of the SAS/C :P C and C++ came very natural after assembly!

* I was forced to program in Pascal and Java in Comp. Sci. undergrad. But I insisted on C++. I also enjoyed LISP/Prolog a lot, I think LISP could also be a good starter after assembly!!

* I now code mainly in C++, but have an interest in new / interpreted languages and lang. design...

So, that'w how my evolution went. I strongly suggest *clean* and *featureful* BASIC variants with which they *won't* be making GUI's but plain graphics and games. That's how you get to learn real programming (He he, demo scene rullaz!)

Then, the kids will want to check out networking, and they can practice with Perl about TCP/IP stuff, I guess. (Not so scary)

Java may seem like a pedagogic device, but avoid at all costs! It sucks. It will distract kids from the joy of programming, too dry... (Juice is what we're after, right?) [Java zealots write to my e-mail addy and if you're a Sun executive you get special treatment!]

Don't tell them that C is the ultimate language; it isn't. Let them play with the following paradigms in the evolutionary order

* Procedural (BASIC, Assembly)
* Functional - Symbolic (LISP, PROLOG!)
* Data driven - (FORTRAN, C)
* Object Oriented/Generic (C++, Ada...)

That will get them to understand why that language is done that way. The best is to pick one language from each generation of languages... BTW, as you see there isn't another generation after oo/generic languages, because there isn't.

If you show them a RAD tool, they will think that programming is all about GUI's and databases and trivial networking. It isn't. It isn't. It isn't. Get them to read some computer science stuff, like sorting algorithms (even consider some excrepts from Knuth!)

This will get you going :)

games games games (2)

EnderWiggnz (39214) | more than 14 years ago | (#1045005)

get them hooked on computer games... all of them, but especially the classic brain-bending ones... Like Zork or Enchanter or any Infocom games, Ultima III,IV, etc. These games challenge young minds and make them want to further explore computers... Get them hooked on the games, and they will want to learn how to code. Alternatively, get them hooked on music, there is a strong correlation between good coders and music.

good question! (2)

tdrury (49462) | more than 14 years ago | (#1045011)

This is tough. I started with BASIC on my TI99/4a back in '82 or so. It was bad. The Extended BASIC was pretty good. I could do lots of graphics and animation which kept my attention and kept me wanting to program more and faster stuff. I briefly did a little Forth, then assembly language. Many years later I do Java primarily, some C, and some Python.

My son is 5 months old. I have a while before I have to deal with this, but I would prefer he learn a language without goto's (or at least doesn't need them much). It would probably help kids if they didn't need to worry about variable types. I don't want to have to explain the difference between a long and short to a 6 year old. Python comes to mind, but python have cool libraries that your kids would like? Graphics and animation appealed to me. I doubt they will want to jump into file I/O or database interfaces.

What ever happened to Logo? Another thought: what is used to program Lego Mindstorms? That would probably interest them.

-tim

BASIC (2)

TheTomcat (53158) | more than 14 years ago | (#1045014)

I learned BASIC on my Tandy CoCoIII when I was 10.

Way back then we had to use things like gosub and line numbers. I think QBASIC comes, slightly hidden, on the Windows CD, or you could teach them pico, and use basic on *nix.

A very high level language like basic, or pascal is definately the way to go when teaching beginners, especially young ones. Even if you can't re-use code when you mature, you keep strong programming concepts such as loops, arrays, functions, subroutines, etc. Which make other languages much easier to get into.

hint: don't teach them about pointers and objects, ok? (-:

Shoot a little lower. (2)

Kefaa (76147) | more than 14 years ago | (#1045019)

You may want to go a little simpler than game programming, especially in windows.

Perhaps, a diary program or CD inventory program? This is something that could be accomplished in a couple of nights (with dad's help). Once they had a success you could better judge the next move.

If you have Office 97 or later, you can do most of the VB programming tasks through VBA. It simplifies some of the more mundane(?) tasks and may be easier to handle. (In addition you do not have to buy VB.)

Of course, a completely unrelated option may just be HTML/XML. They could build some web pages and post them to a free site for the world to see. It may not be the same a programming but it may hold their interest. If they really dug in you could move to JAVA.

My daughter, thinks I play games all day. Don't be disappointed if at 11-13 they do not see the thrill in what we do.

Delphi (2)

bmabray (84486) | more than 14 years ago | (#1045023)

Delphi would probably be a good choice. The underlying code is Pascal, which is designed to be a teaching language. Being able to create visual & interactive programs will keep their interest more than commmand line stuff would. If they enjoy that, move them up to C++ Builder, so they can learn a language that will be useful later on.

I always liked LOGO and Pascal (2)

Mark F. Komarinski (97174) | more than 14 years ago | (#1045029)

But then again, all I had was an Apple II (not even the +). Delphi is close enough to Pascal that it might be good - structered language, some OOP.

BASIC gets you into that GOTO thing, which is really poor programming. Better to start kids off with a good simple, yet structured language.

Hypercard (2)

zeck (103790) | more than 14 years ago | (#1045033)

If your kids have access to any sort of Macintosh, they should definitely start out using Hypercard. If not, visual basic is the next best thing. It will teach them basic programming concepts in an environment which is not too complex for them to understand or too boring for them to continue with. There will always be time for them to learn more complex, non-visual languages later, but start them off with something simple. After all, the goal here isn't for them to write some specific useful program, but just to learn basics and develop an interest which will serve them well later on.

good question (2)

rjamestaylor (117847) | more than 14 years ago | (#1045039)

How did you get started as a programmer?

I liked my Apple II+ a lot, but got bored of AppleTrek and Lemonade Stand, so I started reading the Apple Basic book and loved it!. I made a Christmas card in Basic and ... that was it. I was hooked.

Then, in High School, we had a SWTPc Uni-Flex multiuser computer donated to our school. It was great!

Many of my best friends were made in the computer room before, during and after school.

When I started thinking about a job, it was not hard to decide what path to take...

Re:Why not Java? (2)

Li Pipoca (127586) | more than 14 years ago | (#1045041)

Agreed. Educators are switching to Java left and right. Your kids can start out by doing cool GUI stuff and then moving on to cool server-side stuff and make their parent proud :-). It seems to be especially suitable for you, since in some ways you can think of Java as sugar-coated C. I recommend a book by Deitel & Deitel, which is great for beginning programmers. Can't remember the name tho.

C would be the perfect starter (2)

tcd004 (134130) | more than 14 years ago | (#1045043)

Someone should put together a set of wooden blocks with common programming marks, as well as the alphabet painted on them.

tcd004

Here's my Microsoft [lostbrain.com] parody, where's yours?

Teach the kids to program in Perl! (2)

AltGrendel (175092) | more than 14 years ago | (#1045050)

ActiveState has Perl for Win32 boxen. Try www.activestate.com

My favorite experience with early programming... (2)

OdinsEye (182369) | more than 14 years ago | (#1045054)

My dad showed me a little BASIC and I played with HyperCard at the school, but neither really quite got me feeling I had any real power, and I quickly lost interest with writing essential the same thing over and over (since I didn't know arrarys, structs or other useful data management)... Problem with my dad is that he only taught things I asked him about (and not knowing much, I know realize I asked a lot of wrong questions).

However, my favorite programming experience was with Hypercard (mostly cuz I could manipulate my doodles in a 'game'), even though I realized it was rather weak as a general-use language. But, I did a maze game (pretty limited one) and even allowed for a couple of creature combats.

Whatever you choose to show your kids how to do this, (and if they're interested) I'd recommend working on a dungeon-maze type game. It's fairly fun, and you get to show the use of variables, arrays, calculations for leveling/combat systems and the rest.

Of course, that's just me as a kid. I liked Final Fantasy and drawing, so making a mini-RPG was a natural choice for me. But, trudging through all the nuances of 'programming' (Hypercard, remember?) was a lot more rewarding when I took just a couple of steps forward in making my game.

Web programming (2)

boysimple (188175) | more than 14 years ago | (#1045056)

I'm sure you'll get a ton of posts on this, but start them learning Perl or PHP. Both are nice and platform independent so that when they want they can move to a non-MS system (or they can stay). and plus they can show their skillz off to their friends online. E

Pascal is a good start. (2)

McLion (191908) | more than 14 years ago | (#1045058)

I think they are old enought to start programming in a language that will teach them how to program good clean code. Find for them an old copy of Turbo Pascal and a starter book about that thing. They won't program any fancy thing like a windows app, but they will soon find out how to do an eazy game... Pascal is a clean language with strong principles of programming, so IMHO is the best start to form a good programmer. Maybe Oberon would be a better start, but unfortunatelly is an unusable language at this stage (like Pascal was before Turbo Pascal came out). :) McLion

Lisp and/or Scheme! (3)

PHroD (1018) | more than 14 years ago | (#1045060)

i really think that Lisp, or better yet, Scheme, is the way to go for teaching kids to program. it teaches algorythms etc, rather than structure (which changes from language to language)

check out www.schemers.org [schemers.org] for more information

-------------------------------------------

Python, Maybehaps... (3)

Christopher B. Brown (1267) | more than 14 years ago | (#1045062)

It's got the merits that:
  • It is a reasonably nice dynamic language with a (unsophisticated) form of garbage collection.
  • It has a very clean design

    Not involving huge quantities of "line noise" or other such punctuation

  • Types tend to be associated with values rather than with variables, which is a nice change from the Pascal and C descendants.
  • It offers a reasonably rich set of algorithmic abstractions.

No no! You're all wrong! (3)

Da w00t (1789) | more than 14 years ago | (#1045063)

You need to get your kids started in LOGO. Yes, the little turtle who leaves lines on the screen -- Visualization is key. Let them figure out that they can create interesting drawings with a simple loop. Logo was what got me started in programming. I had a 5.25 floppy disk FULL of logo programs. Geez.. those were the days...

clearhome
pendown
fw 45
rt 160
fw 45
rt 160


da w00t.

Game programming, all the way! (3)

Weasel Boy (13855) | more than 14 years ago | (#1045066)

Forget the langage. You can teach kids good programming technique in any language, and kids don't get hung up on the stupider elements of programming systems the way we dinosaurs do. Programming skills aquired in one system can be applied to any other.

What you need is strong motivation. If your kids are anything like I was, that motivation is games. Do you have any games that support scripts or macros? Use 'em! Another poster suggested Lego Mindstorms. Great! I happen to enjoy MUDs, some of which allow extensive player programming. Even for the ones that don't, a specialized MUD client will.

My point is, exploit your kids' desire to excel in their game, or make their own. They'll learn. Faster than you'll believe. It worked for me.

The way I learned... (3)

seebs (15766) | more than 14 years ago | (#1045067)

Long ago, I played hack a lot. Then my dad got me the source. Printed out. So, I read the source, and I had the game, and I learned C because it was pretty easy to compare sets of instructions in the source to what the game actually did.

Your milage may vary.

Obvious answer: Mindstorms! (3)

Enoch Root (57473) | more than 14 years ago | (#1045072)

I remember when I started playing with Lego Minstorms, I couldn't help thinking, 'Hell, I wish I had THAT when I was a kid.' I can't think of a better way to teach a kid how to program, and do Object-Oriented Programming, no less. It's very easy to understand, and you see a direct relationship between the code and the result. For instance, you'll be able to physically illustrate a FOR or an infinite loop with insane ease.

And really, it's a toy that evolves with you. If 30 year-old jaded programmers can still get a kick out of it, imagine a kid... He'll probably wear it down before he gets tired of it!

Lego Mindstorms Website [legomindstorms.com]

*toy* languages for kids (3)

cybertad (173687) | more than 14 years ago | (#1045076)

As a lot of other posts concur, any of the BASIC dirivatives are a good idea. VB, although poor at developing high-availability, cross-platform applications, is just fine for a youngster to start out in.

There are also those *toy* programming languages based on eiffel and Smalltalk put out by Lego and others. Those are great. Hell, Smalltalk is pretty wonderful as it is, and quite easy to pickup.

Just because we as professional developers know of a languages limitations, doesn't mean it isn't *programming*. Remember, what's basic to us, is still quite a bit over their heads!

Unless you had kids just to turn out a team of software engineers, I would start them out with something simple. If you try to through a command line compiler and debugger at them and expect any results, you have another thing coming... especiialy if they are heavy into games and graphical stuff...




Why not Java? (3)

GrayMouser_the_MCSE (192605) | more than 14 years ago | (#1045078)

Since object oriented programming seems to be the major direction in programming and e-commerce, why not start them off with java?

Its no more difficult than any other language to learn (remember, kids have nothing to unlearn), except for the grasping the object concept. And that may actually be easier for them to start with, since it models the real world.

Its also reasonably platform independant (just stay away from j++ *cringes in terror*)

Logo (4)

algae (2196) | more than 14 years ago | (#1045080)

I don't know if it's around anymore, but I got a really good start using logo. It's good for learning basic programming skills (loops, etc) as well as applied logic and geometry.

For those who aren't familiar with it, you basically have a cursor (called a Turtle) that draws a line behind it. There are commands to move the turtle, change the color of the line, in a friendly programming environment. I've seen everything from games to really wicked fractals done in Logo.

This was, admittedly, over ten years ago, on an Apple IIe. Anyone know if it still exists?

--Alex

Don't flame me for this... (4)

kimflournoy (91906) | more than 14 years ago | (#1045084)

...but why not HTML and JavaScript? There's the instant gratification of seeing your creation alive and being able to show your friends something cool you just did. Most web-savvy kids nowadays have some concept of mouseovers and forms, and maybe have their own homepage already, so adding functionality to something they're already interested in would be easier than sticking them in front of a prompt and saying "Oh, look, you printed 'hello, world' to the screen!"

IMHO, of course.

What I used to do... (4)

Midnight Ryder (116189) | more than 14 years ago | (#1045085)

Between the ages of 17 and 22, I was a camp councelor / teacher at a computer came (think the kids that went there were nerds? Imagine what the means the teachers were ;-) I taught the 'intermediate' level stuff - basicaly, one step up from LOGO, and one step down from Pascal (which was the advanced course.)

My trick was to show them some graphical stuff in basic (things like random lines, minor stuff like a really low-tech computer etch-a-sketch with they number pad where they could also change the numbers.

I would show what was possible, then, begin teaching them the command set nessisary to achieve that small goal (for instance, the random lines demo required teaching them to change the screen mode (this was back in QuickBASIC), the RND statement, line lables, and the goto statement, plus explaining how it worked.

After each time that I explained one of these programs, and showed how it worked, I let them have time to play with it, and teach them more commands to extend thier command set (for instance, teaching them what the circle command was, what all the parameters for the line command (box, fill so they could do filled rectangles), changing colors, etc. I wouldn't implement the new commands for them - I would just tell them what they were, and how they worked, and let them implement it themselves.

As the programs got more advanced, I tought flow control, formating the program correctly so that they could look at it later and understand it, variable types, etc., etc., etc. I rotated back and forth between programing new parts for them to play with, and letting them implement things themselves.

Granted - this was in a teacher-student environment with 20 some odd kids, and someone else helping me out. I'm not sure how well that would work in a one-on-one parent - child relationship. But, the pointer I have that would apply is this: make thier progress very visible. Let them see the results onscreen, so that they have something very visible and tangable to see. Set it up at first so that every minor change produces a change on screen for them to understand. You'd be surprised how excited they can get by very little graphical changes.

Oh, and one more thing - the kids were age range from 9 to 14 or so. That probably also has alot of bearing on how they react, and what works best for them.

Give them Squeak (5)

X (1235) | more than 14 years ago | (#1045087)

Squeak [www.squeak...itlesqueak] is your answer. It a free version of Smalltalk available on whatever platform you want. It's got excellent support for multimedia stuff, and it's nice and graphical. Kids get very immediate support. Smalltalk is actually very easy for kids to learn (they've introduced it in kindergarden classes) and allows them to define their own language and functions. Furthermore, it would instill in them good OO development practices from the beginning. OO is actually very intuitive to young kids, just not to programmers who've been hacking away at functional programing for n years. ;-)

Don't dismiss VB (5)

vlax (1809) | more than 14 years ago | (#1045088)

Like many of the others, I started out in BASIC on an ancient 8-bit machine. But what really got me started in serious programming was scripting languages and VB.

I realise VB is an incoherent mess, and perhaps Delphi is better (I've never used it) but the biggest advantage of VB is that you can quickly and easily produce visual applications. You can see results, right there on your PC, even with simple projects. Learning something more structured like C involves having to deal with too many complicated issues of programming theory and structure, and unless you're willing to sit through complicated stuff like X or Windows GUI coding, all you'll get is some boring text program.

There may be better ways to do this than VB. Tcl/Tk for example, or tkperl, or even javascript/HTML. But I think the place to start with children is something that produces highly visual GUI output in short order.

Don't underestimate them (5)

otterboy (18894) | more than 14 years ago | (#1045090)

Don't underestimate your kids by teaching them something that you consider sub-par. If they want to learn to program like their old man, there is nothing that should prevent them from programing in a shell account from their windows box. I think it's great that they want to learn, so give them the best tools you know. Believe me, they'll learn faster than you can teach them if they decided they like it!

Python - designed for teaching (5)

Insyte (64813) | more than 14 years ago | (#1045092)

Python, which also happens to be my personal favorite language, was designed from the ground up to be easy to learn but to teach proper programming fundamentals. In fact, the almighty GvR is actively developing an IDE designed for classroom use.

http://www.python.org is the main home page, and http://www.python.org/cp4e/ is the home page for his educational projects.

Mindstorms? (5)

cprincipe (100684) | more than 14 years ago | (#1045093)

How about Mindstorms? Good introduction to the relationship between programming and results.

You might consider Alice (5)

CorranW (154516) | more than 14 years ago | (#1045095)

http://www.alice.org [alice.org]

To quote:

Alice is a 3D Interactive Graphics Programming Environment for Windows 95/98/NT built by the Stage 3 Research Group at Carnegie Mellon University. The Alice project is a public service to the wider computing and artistic communities; our hope is to make it easy for novices to develop interesting 3D environments and to explore the new medium of interactive 3D graphics. The current version of Alice authoring tool is free to everyone and runs on computers that are commonly available for reasonable prices. Worlds created in Alice can be viewed and interacted with inside of a standard web browser once the Alice plug-in has been installed.

The scripting language used by Alice is a slightly modified version of Python [python.org] , a language itself designed to be used by novices.

I don't have a windows box, so I haven't played with it, but it looks like it would be a good, fun way to ease kids into programming.

Corran

Don't be afraid of BASIC, VB, etc... (5)

jvj24601 (178471) | more than 14 years ago | (#1045096)

Most of us that have been around a long time (me, I started in Applesoft Basic and then to assembly, then Pascal, then C) didn't care about how clean or consistent a language was. We were curious about how the damn things worked, how programs were written, and how we could do the same. Just get them started on something, and just like us, they'll probably figure out what they like when they get older.

Same goes for anything kids do - expose them to everything and let them decide as they grow.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?