[M3devel] M3devel Digest, Vol 56, Issue 29

Hendrik Boom hendrik at topoi.pooq.com
Tue Jun 28 17:54:41 CEST 2011


On Tue, Jun 28, 2011 at 05:13:18PM +0200, Dragiša Durić wrote:
> I had a discussion few days ago with a friend, programmer-for-hire doing python.
> 
> My question is - what to teach my 14yr old son who is willing to learn 
> programming this summer.

Start with "How To Design Programs" (often called HtDP), which 
introduces Scheme, not Modula 3.  It's simple, direct, and gets to the 
point quite quickly and elegantly.  It teaches how to think about 
programs, a skill which makes  it vastly easier to learn almost any 
other programming language.  It really focusses on program design, not 
the arcana of Scheme.

I've heard that starting with HtDP for a week or two in a course is 
effective even if the main point of the course is teaching another 
language (yes even though it means there ends up being less time to 
teach the other language).

The book is available for purchase, or for free download.  And there's a 
draft of a second edition available that can start a student off with 
graphics instead of (or as well as) math.

Look at its Wikipedia article, 
http://en.wikipedia.org/wiki/How_to_Design_Programs
for further details.

The course matches the DrRacket implementation of scheme.  Go ask on 
the Racket mailing list for further advice on deployment.  Students 
can ask there for study hints, too; the list members are helpful in 
helping the student figure out the problems rather than just giving 
answers.
http://lists.racket-lang.org/

-- hendrik

> 
> His answer: "I remember slashdot discussion, they recommended python 
> in the end and the best argument I saw was: PyGTK".

Maybe that a good language for beginners, but it'll be easier to 
understand if they go through the HtDP execrise first.
> 
> My conclusion: If we want (do we?) more users using Modula-3 then we 
> must think more GTK+ less Algorithm Animation, less Juno-2. (Don't 
> think I don't respect these projects, I just think they are too deep 
> to be what we present first).

So will Modula 3 be easier to understand after HtDP.

-- hendrik



More information about the M3devel mailing list