Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tlug] Learning to Program



On Thu, 2 Aug 2007, tlug@example.com wrote:

The challenge is determining a program that would have this
property but is not too difficult for a beginner.  Here are various ideas:

* Graphics: Learn how to write programs that output POV-Ray code.

Recalling my early-teen programming days, this seems to me at first blush rather on the difficult side for a rank beginner.

* Algebra: If your son likes math, he may enjoy learning how to program what
he learns at school.  While it would not be beneficial to use it to solve
homework problems....

I think it would be absolutely beneficial to use it to solve homework problems! If you can write a program to solve the algebraic equations in your homework, I'd say that you have a depth of understanding far beyond what your homework is designed to teach you, and you'd be wasting your time to do it by hand.

Python has a nice interactive shell that makes it really easy to play
around with ideas.

BTW, Ruby does, too (irb). My language suggestion would be to go with something that someone who can help the child out knows best.

_The Little Schemer_ is pretty fun and is a great introduction to
(functional) programming! I do not think it is a book for every
eleven-year-old, though....

Why not? The things I thought would make it good were the very small chunks in Q&A format, which I'd think would help reduce the frustration level considerably, the fantastic illustrations, and the lightheartedness of the whole thing. ("This space reserved for...jelly stains!")

If he is interested in this, I would highly recommend using Dr.
Scheme, which has an interactive shell as well as various modes for
people at different levels of ability: http://www.drscheme.org/

Yes, definitely. The ability to step through evaluation of expressions is priceless.

Scheme is great for learning functional programming.

Actually, I didn't recommend _The Little Schemer_ because it teaches functional programming. I'd say it doesn't, really; it doesn't even touch on one of the most basic elements of functional programming, higher-order functions.

Basically, what it covers is functions, data structures, and recursion.
And these basic concepts are common to almost any language. Were I going
to teach OO programming to someone who'd never programmed before, I'd
probably start with _The Little Schemer_ or something similar anyway,
because understanding these basic building blocks of calculation is more
basic than understanding something like OO, which is really a method of
program organization.

That said, I'd certainly have no objection to Smalltalk as a starting
language, if there were a similar book for it.

cjs
--
Curt Sampson       <cjs@example.com>        +81 90 7737 2974
Mobile sites and software consulting: http://www.starling-software.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links