ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Well I have heard of forward thinking but I guess this takes the cake
Ultimately, IMO, you have 2 hurdles that count in learning a computer language that makes it a little different from learning a spoken one:
1. Obviously an understanding of how grammar works. Although this can be akin to a spoken language the issue is that without a reference, like a spoken language, it can be difficult to grasp why things need to occur in a certain order.
2. Logic / mathematics. Whilst not completely synonymous the two are intertwined and from a learning point of view a young person learns a lot of first level
logic from basic equations, ie 1 + 1 = 2
So my advice here is that you should look at computing languages when you feel they have a relative command of the 2 items above.
I know this is not a definitive answer but I hope it may help.
Cheers
Grail
PS. When your 5 year old writes a program of substance ... colour me stupid ... lol .. just jokes
Wow 21 months, that's really thinking ahead^^. Can your kid read? My daughter was 3 years old when I got her in front of my keyboard and taught her to read/type with help of a script I made (that just speaks the key pressed). She really seemed to have enjoyed it.
I guess after teaching your son to read/write(type^^), and to count, if he's really smart you could already introduce him to "kturtle" or "ucblogo". You can draw interesting figures, in a kind of programming language style. Good for learning basic programming concepts. After he learns some math (like to add, subtract , etc), you can gradually teach him more, till learning actual functions.
Before actually teaching him in python or any other programming language, you probably should teach him some bash (or any other shell).
When I was a kid too young to understand BASIC (the only programming language I knew...), I enjoyed writing batch files. But even as a kid, I felt it's limitations. Can you guess how I felt when I used a linux shell for the first time?^^
Anyway-> reading/writing -> counting -> ucblogo ->bash
sounds good to me. I mean, as long as your kid enjoys it^^.
Post again in like 5 years and tell us how it went too.
I think a "real" programming language is simpler than shell scripting. Don't have to worry about quoting, special characters, less error handling code, easier to do math, etc..
Has anyone here taught their children to program?
Any advice (like how and when)?
I can program in python (but not very well).
My son is 21 months so I am thinking ahead.
My friend, I believe the most honest answer would be, let your child choose his own way in life. Even if you like programming maybe he's better at music or sport, you can't never tell. Programming in any knowm lamguage implies a lot of dedication, thrust me i know that. But this can be seen also as a sword with two blades, because choosing this way in life you will get self esteem but you will loose a lot in any other points of life like family, love, walks in a park, in any case everything a normal life would be called by most of people. I'm not a sleazy fat bastard, I can do more than 40 push ups and about 50 abdominal flexes, but i always had this weakness regarding programing. Mostly I'm dedicated to whatever programing would be called, even if sometimes my eyes turn completely red, and only when i really need a break i do exercise or eat, though I know this it's far from being what would most call a normal life.
In recent years have seen an explosion of programming languages and open source services that are geared toward children.I think a real programming language is simpler than shell scripting.You can draw interesting figures, in a kind of programming language style. Good for learning basic programming concepts.Many of these efforts are based on the idea that since the days of basic programming environments have become far too complex for untrained minds to wrap.
I remember there was this Lego mindstorms thing where you could program the motors to run and sensors too. Try that, but later, because the pieces are too small.
I think the important thing is not to force them into anything, just have the information and technology available and maybe show them how to use it and let them do the rest.
I too used kturtle with my nephews (I found a nice piece of graph paper and a plate of scones n jam helps). Next I gave them a taste of php and html, using gd to do some graphics. I did intend to show them js but we didn't get around to it. Sooner or later i'll introduce them to the opengl red book (prolly equiv of me doing turboC Big Demo for the first time).
I can only half agree with bash to start with, especially because there are a lot more fun things easily achievable nowadays.
I remember there was this Lego mindstorms thing where you could program the motors to run and sensors too. Try that, but later, because the pieces are too small.
Yes, I liked Mindstorms. A few problems, though:
The software is for Windows 98. It's a pain in the @$$ to install it in XP, it hardly worked.
But soon I moved on from programming with placing blocks in a GUI and chose "NQC", a C-like programming language designed for Lego robots. It was nice. I don't know if they have a Linux version.
Another problem with it is that the IR link was very finicky and unreliable.
The main problem now: IMO the "RCX" was great. But now they moved on to the "NXT". It's just plain not fun any more. No more bricks, just pins, axles and sticks with holes in them. I wasn't even really able to build anything out of it.
And don't get me started on the NXT's "GUI programming" software. It's so glitchy and difficult to work with that it's just worthless.
So now I say:
Either use the old "RCX" Mindstorms, or just get some Lego bricks, axles, pins, beams, motors, etc. + a microcontroller, motor driver, and breadboard.
Then cut off one end of the Lego electrical connectors and solder on breadboard-friendly pins, and you've got yourself a breadboard-to-Lego adapter.
Kids will imitate their parents in anything. So once he gets to have attention span, just work with computers around him. Sooner or later, he is going to use the computer. But let him find his level.
Kids will imitate their parents in anything. So once he gets to have attention span, just work with computers around him. Sooner or later, he is going to use the computer. But let him find his level.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.