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.