Re: Programming for 14 year old (was Programming for 13 year old)

From: Calum (calum.bulk_at_ntlworld.com)
Date: 02/27/04


Date: Fri, 27 Feb 2004 18:08:41 +0000

Grod wrote:

> About a year ago I posted a question about how to go about teaching
> programming to my 13 year old nephew. Well, we have been at it off
> and on for about a year averaging sessions of maybe twice a month
> and now he is 14 years old.
>
> We started with HTML which worked out well in that it got him
> creating code fast. We used the Werbach barebones guide to
> HTML ( http://werbach.com/barebones/download.html ) as a reference.
>
> Then we progressed to Javascript which was good in that it was
> an easy transition although its going a bit slowly. I found some
> reference material on the net but ultimately got the Visibone
> javascript reference card ( http://www.visibone.com ) as well as
> their HTML reference card as these are inexpensive and compactly
> provide the language definitions -- I don't think he would have
> the patience for a book.
>
> We then proceeded to try out R ( http://www.r-project.org ) so he
> could try out scientific programming. R is interactive -- type in
> a command and immediately get the answer back -- but it did not
> seem to hold his interest and I returned to Javascript with him.
>
> We will probably continue to spend some more time on Javascript
> until he gains more proficiency though I have been thinking of
> trying out gamemaker too -- its a programmable game making environment
> ( http://www.cs.uu.nl/people/markov/gmaker/ ) as he is about to
> get a PC so we soon won't be restricted to Mac environments.
>
> I think what I need now are some good motivating problems to work on.
> Anyone have any ideas for problems?

Lego Mindstorms! It uses a cute visual programming language, and it is
really fun (apparently ;-) You could make the programs really
sophisticated, and make useful devices with complicated logic. It would
make a great birthday present.

Calum

> ---
>
> A year ago I wrote on this group:
>
> I want to teach programming to my 13 year old nephew who has a Mac G3
> OS9.1 .
>
> My original plan was to start with HTML (we created our first web page
> last week), move to Javascript since its a simple transition to just
> start adding some Javascript commands into HTML.
>
> I was then going to move to Java. Java looks like Javascript and
> provides a good upward migration path. Someone on the java newsgroup
> had the idea of teaching Java applets first which would make the
> transition particularly easy. There is also a free IDE called BlueJ
> targeted at education. Unfortunately it seems that the latest Java is
> not supported on OS9.1 nor is BlueJ. Thus I am back to reconsidering
> how we progress.
>
> I did some searching on the net and found that Java, Smalltalk/Squeak
> and Scheme/Lisp were often used to teach programming in first year
> programming courses.
>
> Ideally, I was hoping to teach something that:
> - is mainstream
> - runs on a Mac G3 with OS9.1
> - does not involve $$$
> - is cross platform so he can move to Windows or Unix/Linux if he gets
> a different computer in the future
> - provides a high motivation level, i.e. you can get some results
> fast. This point is really important. The entire exercise requires
> maintaining his interest level.
> - forms a logical upward migration path from HTML and Javascript
>
> Here are some of my thoughts -- hopefully this will not start a debate
> on programming languages -- I am just trying to figure out what should
> be my game plan here.
>
> - Realbasic. Pro: rapid development, close enough to VB to be
> considered mainstream. Con: new syntax, costs money. (Someone on Mac
> group mentioned this one to me.)
>
> - Lua, Python, Ruby, Squeak/Smalltalk. Pro: rapid development? free.
> Con: new syntax, arguably not mainstream. (Someone on the Java group
> mentioned to me that there is some introductory programming material
> for Python.)
>
> - Perl. Great libraries but I find it a bit complex for this purpose.
>
> - R (www.r-project.com). This is a scientific/statistics workbench.
> If we went this way the focus would not be so much on programming, per
> se, as math and science (which happen to be his two best subjects).
> Pro: free, rapid development of scientific/statistical calculations,
> syntax close to Javascript, mainstream (if you consider S-Plus as
> mainstream since its nearly identical to that). Con: no gui (other
> than tk interface); however, you can create a wide variety of
> beautiful scientific plots.
>
> - XML/XSLT. This is not really an alternative but would be an extra
> step before getting to Javascript. XSLT gets part way to a
> programming language and requires the concept of trees. Syntax is
> similar to HTML. If we do this before Javascript it gives me a little
> more time to figure out what we do after Javascript.
>
> Thanks for any comments.

-- 
Persistent data in C++: http://visula.org/persist


Relevant Pages

  • Programming for 14 year old (was Programming for 13 year old)
    ... programming to my 13 year old nephew. ... We started with HTML which worked out well in that it got him ... seem to hold his interest and I returned to Javascript with him. ... I was then going to move to Java. ...
    (comp.programming)
  • Re: Javascript or Java ?
    ... For "client-side" programming, Javascript is the closest ... would not use Java for that unless you have very specific requirements. ... For client-side programming, I use emacs with a decent javascript mode ...
    (comp.lang.javascript)
  • Re: When MV is not an option
    ... JavaScript has a similar feature to DataBASIC -- you get ... PICK had many years ago -- lots of non-software developers writing ... Agile methodologies such as eXtreme Programming suggest writing ... iteration of software and then refactoring the software to incorporate ...
    (comp.databases.pick)
  • Re: undefined vs. undefined (was: new Array() vs [])
    ... programming context. ... If we are talking about javascript the only relevant meaning is what it ... "a bug") if a bug is only a non-compliance to ...
    (comp.lang.javascript)
  • Re: [a,b].join() !== + a + b; // for some a and b
    ... programming. ... Javascript rules determine what that sting value will be. ... Take, for example, an FORM element's - elements - collection; if I assign a reference to that object to a variable and I need to know its 'type' I now need to determine whether it is a W3C specified HTMLCollection, an original Netscape collection, a Microsoft imitation of the Netscape collection, or something else. ... If browser scripting could only be done with a strongly typed languages like Java then the amount of reflection that would be constantly demanded would make the whole thing hundreds of times more arduous than it is now. ...
    (comp.lang.javascript)