LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 06-16-2010, 08:18 AM   #1
davholla
Member
 
Registered: Jun 2003
Location: London
Distribution: Linux Mint 13 Maya
Posts: 729

Rep: Reputation: 32
Teaching a child to program


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.
 
Old 06-16-2010, 08:57 AM   #2
grail
LQ Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 10,007

Rep: Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191Reputation: 3191
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
 
Old 06-16-2010, 09:43 AM   #3
rikijpn
Member
 
Registered: Jun 2007
Location: Japan
Distribution: Debian lenny, DSL, Solaris 10
Posts: 157

Rep: Reputation: 33
abcs

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.
 
Old 06-16-2010, 09:47 AM   #4
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
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..
 
Old 06-16-2010, 11:11 AM   #5
Tux Rules
Member
 
Registered: Feb 2009
Location: at my place
Distribution: Arch
Posts: 153

Rep: Reputation: 25
Quote:
Originally Posted by davholla View Post
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.

Last edited by Tux Rules; 06-17-2010 at 01:53 AM.
 
Old 06-16-2010, 10:55 PM   #6
jmslee123
LQ Newbie
 
Registered: Jun 2010
Posts: 4

Rep: Reputation: 0
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.
 
Old 06-17-2010, 04:43 AM   #7
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
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.
 
Old 06-17-2010, 05:08 AM   #8
brazilnut
Member
 
Registered: Nov 2007
Posts: 113

Rep: Reputation: 16
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.
 
Old 06-17-2010, 06:19 AM   #9
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: Mint, Armbian, NetBSD, Puppy, Raspbian
Posts: 3,515

Rep: Reputation: 239Reputation: 239Reputation: 239
every time they get a compilation error or a stack dump
smack the child across the knuckles with a cane.

they'll soon learn.
 
1 members found this post helpful.
Old 06-17-2010, 06:32 AM   #10
Aquarius_Girl
Senior Member
 
Registered: Dec 2008
Posts: 4,731
Blog Entries: 29

Rep: Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940Reputation: 940
I would like to know too [for my unborn children], are there any software tools available for children of age 5 years, to learn programming ?

and I would like to teach them basic programming myself at home, but how should i deal with a child of age 5 years (in this case) ?
 
Old 06-17-2010, 06:51 AM   #11
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Quote:
Originally Posted by bigearsbilly View Post
every time they get a compilation error or a stack dump
smack the child across the knuckles with a cane.

they'll soon learn.
or they will be gimped for life ... either way it's all good.
 
Old 06-17-2010, 07:04 AM   #12
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
Quote:
Originally Posted by H_TeXMeX_H View Post
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.

EDIT:

http://bricxcc.sourceforge.net/nqc/

I see NQC is open source, but it's just for Windows/Mac.

Last edited by MTK358; 06-17-2010 at 07:18 AM.
 
Old 06-17-2010, 07:26 AM   #13
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Yeah it was buggy and it ran on Window$, but I managed to do plenty of stuff with it a long time ago, and it will be fun for the kid.
 
Old 06-17-2010, 07:27 PM   #14
AnanthaP
Member
 
Registered: Jul 2004
Location: Chennai, India
Posts: 952

Rep: Reputation: 217Reputation: 217Reputation: 217
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.

All the best.

End
 
Old 06-30-2010, 10:04 AM   #15
davholla
Member
 
Registered: Jun 2003
Location: London
Distribution: Linux Mint 13 Maya
Posts: 729

Original Poster
Rep: Reputation: 32
Quote:
Originally Posted by AnanthaP View Post
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.

All the best.

End
Thanks - that is a good idea.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
select() call does not detect data in pipe between parent and child program rasbambober Programming 5 09-24-2009 11:32 PM
running a program in the background in the child emulator process yosato_uk Linux - General 2 08-26-2009 10:10 AM
LXer: Teaching Math with the KDE Interactive Geometry Program LXer Syndicated Linux News 0 06-19-2009 07:40 PM
An open source foreign language teaching program? Abomb Linux - Software 1 12-07-2006 03:08 AM
teaching active directory w/o teaching network concept (possible???) Tafta General 4 01-21-2004 06:12 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 05:56 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration