Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Teaching someone to program (OT)

Author: Gareth McCaughan

Date: 13:31:29 04/23/02

Go up one level in this thread


On April 22, 2002 at 21:54:32, Russell Reagan wrote:

> I'm always talking about my chess programming adventures
> (and other programming projects as well) to a friend of mine,
> and I don't think she really understands much of what I'm
> talking about, so today she asked me if I would teach her
> how to program.
...
> So where do I begin?

1. By all means teach her HTML if you like, but don't
   let her think for a moment that it's programming. It's
   a very different set of skills. It would be useful
   preparation for learning to program, though, because
   it would get across the idea that small errors can
   make big differences :-).

2. I strongly advise you to use a programming language that
   lets you interact directly, and doesn't require the
   traditional edit-compile-run cycle. Someone mentioned
   Scheme, which has this property; other languages that
   have it include Python, Ruby, Perl, some BASICs, ML,
   Common Lisp. Not all of these are equally suitable for
   teaching beginners :-).

3. Given a completely free choice, I'd go for Python. Even
   if you don't know it yourself. (Seriously.)

   Why? Because (a) Python is a startlingly good language
   for teaching beginners, (b) if you're learning too then
   you'll be forced to teach concepts as well as syntax,
   which is good, (c) if you and your friend are learning
   together then she'll get to observe how you learn, which
   is also good, (d) learning something together can be more
   fun than one person learning and the other teaching, and
   (e) it's a very nice language anyway, and you'll be glad
   you learned it :-).

4. At http://www.livewires.org.uk/python/ you can find
   a set of worksheets designed for teaching programming
   in Python to 12-15-year-old children. They're intended
   to work with a fairly low level of intervention. I'm
   not sure how well they'd suit your application (adults,
   one-to-one), but it might be worth a try. Disclaimer:
   I wrote most of it, so my opinion is not unbiased :-).

   At the end of that page there are links to two brief
   introductions to Python, one intended for experienced
   programmers and one intended for everyone else. You
   might want to take a look. Or you might not.

5. With children, and I suspect just as much with adults,
   it makes a big difference being able to achieve things
   as you learn. Things other than just "having learned
   such-and-such", I mean. So try to make sure that your
   friend is writing programs that are at least slightly
   interesting, once she's at a level where that's possible
   at all. (In the early stages, a fair amount of the
   writing may *really* be being done by you. This doesn't
   matter as much as you might think.)

--
g



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.