[Edu-sig] Introductory high school programming class - Python or
TeachScheme
Jeff Sandys
sandysj at juno.com
Thu May 6 18:17:28 EDT 2004
I guess it matters on what you want to do.
If you want to prep for the AP, teach java.
because the test uses java.
If you want to teach Computer Science, teach Scheme,
because Scheme is used in _Structure and Interpretation
of Computer Programs_, the seminal computer science book.
If you want to teach programming, teach Python,
because it has the best balance of power and ease of use.
At our Seattle Python Interest Group we went around the
room saying what we use Python for. My answer, to
write programs! Because when I need a program to do
something, I need it now, I want it fast, and it has
to be easy to write.
Lisp (Scheme is a dialect of Lisp) is a great porgramming
language, but I find even after years of practice I have
to think really hard when I write Lisp code, and with
Python I hardly have to think to write code.
The language I have used in a middle school programming
club is Logo, which has an expression, "no threshold,
no ceiling". And Logo has a low threshold and is very
expressive, but without the libraries it has a low
ceiling.
Python has a higher threshold than Logo, IMHO, but with
the libraries it has a high ceiling. Scheme's threshold
is higher than Python and with limited libraries Scheme's
ceiling is lower. Scheme's expresiveness is more powerful,
sometimes when programming in Python I wish Python had a
feature or syntax found in Lisp, but then I code around
it and remember why I am using Python in the first place.
Thanks,
Jeff Sandys
More information about the Edu-sig
mailing list