Page 1 of 1
Teaching a Child to Program
#1
Posted 27 August 2005 - 07:41 AM
I am sorry if this is not the right place to post this, but there is no "developer" forum that I could see, so it seemed the most logical place.
I am the father of a precocious elementary school age boy. He reads at a level well beyond his years and is showing tremendous aptitude and love for technology. He wants to learn to write programs.
I am a relatively technically astute business user, but I am by no means a developer of any kind. I want to provide my son with the ability to pursue his interest and develop his skills. I am willing to put in the work to develop a curriculum for him. However, as a non-techie I have no idea where to start.
I am looking for advice on where to start. What language should he learn? Are there good beginner books with exercises that he could work through? Is there some sort of developer tool kit that I should buy?
I would appreciate any advice you may be able to provide. Thank you in advance.
(p.s. We are a Mac family. He has his own iMac and wants to develop on this platform. I wanted to include that since it probably affects the direction he would take.)
I am the father of a precocious elementary school age boy. He reads at a level well beyond his years and is showing tremendous aptitude and love for technology. He wants to learn to write programs.
I am a relatively technically astute business user, but I am by no means a developer of any kind. I want to provide my son with the ability to pursue his interest and develop his skills. I am willing to put in the work to develop a curriculum for him. However, as a non-techie I have no idea where to start.
I am looking for advice on where to start. What language should he learn? Are there good beginner books with exercises that he could work through? Is there some sort of developer tool kit that I should buy?
I would appreciate any advice you may be able to provide. Thank you in advance.
(p.s. We are a Mac family. He has his own iMac and wants to develop on this platform. I wanted to include that since it probably affects the direction he would take.)
#2
Posted 27 August 2005 - 02:18 PM
Two languages stand out, Smalltalk and Logo.
There is an open source Smalltalk system called Squeak which is specifically designed for children. See here: Squeak.Org
Logo was originally developed for children as well. You can find more info here: Logo Foundation
There is an open source Smalltalk system called Squeak which is specifically designed for children. See here: Squeak.Org
Logo was originally developed for children as well. You can find more info here: Logo Foundation
#3
Posted 28 August 2005 - 08:11 AM
Just to give you a little bit of info on me, I'm a computer engineering student at the moment so I have a little bit of programming experience. There's a neat set released by Lego called Mindstorms. I would say this is probably the best way to get him started because it is geared for his age group. It teaches the basics using a very simple language providing knowledge which he can later use to tackle a more complex language. I know I would have enjoyed it when I was little. Here is the website:
http://mindstorms.le...s/ris/index.asp
You'll notice that the system requirements on the site say PC, but there was an article released by macworld that spoke about downloading some program to get the micorcontroller to sync with his a Mac. Here is the Macworld article:
http://www.macworld....ornov/index.php
I hope this helps and good luck.
http://mindstorms.le...s/ris/index.asp
You'll notice that the system requirements on the site say PC, but there was an article released by macworld that spoke about downloading some program to get the micorcontroller to sync with his a Mac. Here is the Macworld article:
http://www.macworld....ornov/index.php
I hope this helps and good luck.
#4
Posted 28 August 2005 - 11:20 AM
I'm 16, and a fully self taught web/computer programmer.
I would recommend having your child learn Javascript. It doesn't require any developer tools of any kind, and much of the programming concepts that you will learn from the language will carry over to other programming languages such as PHP, and Objective-C. I started out with Javascript language, learning it from the book "Javascript Goodies".
If you child wants more than javascript has to offer, I would recommend learning Actionscript which ties into Flash which would allow your child alot more creative abilities. Actionscript is a little more complicated though, because you have to learn how to use the Flash authoring environment.
I would recommend having your child learn Javascript. It doesn't require any developer tools of any kind, and much of the programming concepts that you will learn from the language will carry over to other programming languages such as PHP, and Objective-C. I started out with Javascript language, learning it from the book "Javascript Goodies".
If you child wants more than javascript has to offer, I would recommend learning Actionscript which ties into Flash which would allow your child alot more creative abilities. Actionscript is a little more complicated though, because you have to learn how to use the Flash authoring environment.
#5
Posted 28 August 2005 - 11:59 AM
I'll just go ahead and vote python.
Here is why:
That's how hard it is to get started.
In the end, it doesn't really matter what language he starts with. If you knew stuff yourself, you could probably get him going with C, which would probably make him a computer-superman in a couple of years.
Just make sure you don't chose an environment that distances him away from everything trough abstraction.
Edit:
And for gods sake, whatever people say:
Don't go for AppleScript! /forums/ubbthreads/images/graemlins/smile.gif
Here is why:
code:
tor% python
Python 2.3.5 (#1, Mar 20 2005, 20:38:20)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
That's how hard it is to get started.
In the end, it doesn't really matter what language he starts with. If you knew stuff yourself, you could probably get him going with C, which would probably make him a computer-superman in a couple of years.
Just make sure you don't chose an environment that distances him away from everything trough abstraction.
Edit:
And for gods sake, whatever people say:
Don't go for AppleScript! /forums/ubbthreads/images/graemlins/smile.gif
#6
Posted 28 August 2005 - 05:58 PM
it's simple.
stick him in a room, load him with a computer, a fast internet connection, rid the bedtime curfew. buy him any book he wants, but only let him have one. that way, he chooses the language himself, and you save yourself money by buying only one. buy the ones with CD's in the back, with sample codes. they truly work.
reward him by buying him something at the end of a project that you assign. give him a due date. give him a challenge. /forums/ubbthreads/images/graemlins/smile.gif
i'm saying this from experience. my old man did this to me when i was 12, before you know it, i got sacked for 5 days for sending a virus to every computer in the school. my dad left the principle's office laughing and we went to McDonald's for a job well done.
-phil
stick him in a room, load him with a computer, a fast internet connection, rid the bedtime curfew. buy him any book he wants, but only let him have one. that way, he chooses the language himself, and you save yourself money by buying only one. buy the ones with CD's in the back, with sample codes. they truly work.
reward him by buying him something at the end of a project that you assign. give him a due date. give him a challenge. /forums/ubbthreads/images/graemlins/smile.gif
i'm saying this from experience. my old man did this to me when i was 12, before you know it, i got sacked for 5 days for sending a virus to every computer in the school. my dad left the principle's office laughing and we went to McDonald's for a job well done.
-phil
#7
Posted 28 August 2005 - 06:00 PM
by the way... i'd get him on java. it's a good beginner's language and he'll love how it works with everything. if he starts off programming with a mac, he'll get laughed at by his friends who use pc's. i was there... i know. it's only later when they realize the potential of a mac. i recommend C also. it's a good language that'll serve him years to come later in his high school days. they're still using Fortran from what I heard... and that was ancient even when I was there.
#8
Posted 29 August 2005 - 06:00 AM
I am 15 and i know javascript, C and Objective-C. I started by programming my TI-83 Plus. It has a simple language that is perfect for beginners. Then i learned javascript on a website (i don't remember which one) and after that i went for the more complex languages. I started with java, but i did not really like that language and i tried C. Now i can write quite complex programs in C, a database utility for example. I also know the basics of Objective-C and how to make Mac OS X programs with it but i don't really use it much. Apple's developer tools, Xcode, was a great help for me while i was learning and i still use it for every program i write. There is also a lot of documentation included with it, that helped me learn Objective-C. As far as i know, the developer tools are included with Mac OS 10.3 and later.
#10
Posted 29 August 2005 - 11:24 AM
In reply to:
You said he's just a kid...you want him to keep interested.
You said he's just a kid...you want him to keep interested.
I agree. The most important thing is to keep it fun. The problem with a lot of languages is that there is a steep learning curve to get the most basic things done. Java and C come to mind for this obstacle.
Javascript was a good suggestion because it is strictly interpreted and the browser is a good, easy to use test environment but I don't know how interesting it is for a kid. Maybe Widgets would be fun to create.
The advantage of a system that is geared towards children is that they come with a lot of programming toys that are fun to play with and modify.
#11
Posted 29 August 2005 - 03:11 PM
In reply to:
You said he's just a kid...you want him to keep interested.
You said he's just a kid...you want him to keep interested.
I agree.
Starting out with languages such as Java/C/C/Objective-C will be wayyy over his head.
Like I said before, Javascript i believe is the best starting point. By learning javascript you will learn procedural programming in addition to object oriented programming (which Java, AS2, C, Objective-C, PHP, and I believe even python is even OO). I dont know python, but i know it more of a scripting language, and not a programming language. The syntax of javascript & C is alot more compatible than the syntax of python & C. And with javascript you can do cool stuff like make an input box appear, and make an alert pop-up.
And like Dr. Nikon said, dont learn Applescript.
Page 1 of 1



Sign In
Register
Help

MultiQuote