
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