high school programming & python

Warren 'The Howdy Man' Ockrassa warren at nightwares.com
Fri Sep 10 23:17:19 EDT 1999


Les Schaffer wrote:

> I am tutoring a high school kid in programming this semester -- he is
> doing an independent study.

Heh, I've written instructional software for grade/middle schools, and
have a friend whose son is doing Pascal right now in Grade 9 (15 yrs.
old for non-US system reference).

> they \quote use \unquote C++, having recently changed from pascal. but
> they dont teach any class/object stuff. when i asked her how far they
> get in the class, she said "up through arrays".

That makes no sense. Might as well teach the monkeys assembler. To teach
C++ and ignore OOP is like teaching English grammar and ignoring
literary classics. Worse.

Python is a *superb* interface language for both coding in general and
OOP as well; that is how Guido designed it. (In fact I have direct
experience with languages written by corp folks deriving lots of profit,
and have seen nothing quite so elegant nor addressable as Python; Guido
van Rossum is, to my eyes, a genius on par with Linus Torvalds.)

Python can begin as a simple CLI code emulating "cal" on non-*nix
systems and work up to massive GUI applications, such as, gamewise,
PySol or, webwise, grail. (Many, many other completed apps in between,
as well as more modules than I think *anyone* can enumerate to describe
its full functionality, including full 3-D rendering engines.)

This is beyond doubt simultaneously the most accessible OS-addressing
language I have ever encountered, the most GUI-capable, the most
coder-friendly, and the most powerful/flexible/extensible. When you
count its release platforms as well... well.

I have only rippled its surface, mind you. But I know my intiuition. I
think this is the best language going *anywhere*.

> they dont do any graphical/GUI coding at all.

That is a massive error. Console window apps are useful, and knowing how
to do them is good, but such "instruction" has no place in 1999 soon to
be 2000. The result is a class of kids disenfranchised with coding
because they can't even do what you can do with HTML, for God's sake.

> 1.) very few kids in the high school are interested in taking a
> programming class.

I think the fault there is in presentation. Instead of offering a
"programming" class, how about a "Web class"? How can you do this great
Web stuff? Take this class and find out!

> 2.) the AP tests which kids take, according to her, require for
> advnace placement in a comp sci class that they know the basics of C++
> up through objects. the question then is whether something like
> learning/using python would enable a student still to place in the AP
> tests if they desired.

Oh god. The process and the mechanism, once it is understood, maps very
well. With knowledge of OOP -- regardless of its derivation -- all OOP
langs are accessible, provided you have a lang ref to thumb through, and
a reasonable amount of time. (Of course C and C++ hurt, badly and
desperately, to try to understand.)

I can tell you this. We would never hire someone with pure academic
knowledge of one language. Our employability base would have to include
portability of knowledge -- a generalization of technique lost in the
intricacies of C++. (In fact strict C++ knowledge would probably be a
deficit.)

Javaesque and CGI coders we want. C++ academics are too specialized to
suit our needs.

I don't think I'm the only one to feel that way, and I know for certain
that I am not the only potential recommender of hirees in the US
corporate world to believe this.

Note I am a complete newbie to Python, but I am not new to coding in
general, and so while I know little now of Python techniques I can
assure you professionally that this is a language which will be used in
US$100,000 bids for clients.

It is faster than C++ can ever be at prototyping and it is possible for
a .py prototype to be so successful that no C++ engine needs to be
built.

My young friend's teacher is being gradually seduced to this language,
and for good reason. After all four lines to a GUI hello world is vastly
superior to what it takes in any other HLL... or VHLL...

Your HS teacher is badly out of date, methinks.

FWIW when I took a HS "programming" course in 1984 -- 1984! -- it was
using Commodore machines with tape loads, pure BASIC as in 10 print
"hello" 20 goto 10, and our teacher referred to ASCII as
a-ess-cee-double-i; he also had a cache of slide rules. No kidding. We
wrote our code on quadrille paper for the line spacing; damn near
Fortran in most ways.

Point is that some HS programming teachers, especially if they are
older, might not be in touch with current tech. This is not, after all,
porting, polishing and specing a 351 hemi engine as in auto shop, where
tech proceeds slowly. This is 2000 and beyond, and some languages are
just not viable any more, just as some perspectives are not.

For what it is worth, professionally, I would not hire this teacher of
which you speak to code any kind of program I ever needed for a
multi-kilobuck client. I would only hire students s/he had that didn't
fit the mold.

--
  Warren Ockrassa | Becker Communications | http://www.beckerinc.com/




More information about the Python-list mailing list