Advice to a Junior in High School?

Peter Olsen pcolsen at
Mon Sep 1 18:29:33 CEST 2003

soundinmotiondj at (Stan Graves) wrote in message news:<3d6c6fc3.0308261246.32db39d5 at>...
> "Howard Nease" <hnease at> wrote in message news:<Ivw2b.1305$Ce2.314 at>...

Stan Graves and Howard Nease shared the following exchange.  I'd like
to add my two cents.

> > I would be devastated were I to find the need to leave computer science. 
> > Does anyone have any advice for me and my future? 
> > What should I study in
> > college? 
> You should learn to think and to learn in college.  
> Study literature - I have yet to see a single computer scientist who
> can manipulate symbols as well as Shakespeare.
> > What languages do you suggest that I
> > study (I'm already studying Python)?
> I'd suggest English.  The ability to communicate effectively is
> probably more important than any technical skill.
> --Stan Graves


Stan has already given you some excellent advice.  I'd like to add
some more.

I believe that all of education comes down to learning two languages:
whatever you speak at the dinner table and mathematics.

My dinner-table language is English; perhaps yours is as well.  This
is the language we use to talk about what makes us human: our hopes,
our fears, our loves, our hates, and our passions.  You will use this
language to court your partner, lead your peers, and console your
family and friends.

Master it.   Use it with precision.  As Stan wrote, read Shakespeare. 
Read Churchill for his prose.  Read poetry. (I like Robert Service,
plain though he may be.)

To work in a technical field you must write about technical things. 
Read Paul Halmos' and Gil Strang's books on mathematics.  Read "The
Structure and Interpretation of Computer Programs" by Hal Abelson and
Gerald J. Sussman.  (This is the best computer science book --- and
perhaps the best technical book --- I have ever read.)  Don't worry
about mastering the details, concentrate on the elegance and precision
of their description.  Ideas lost your head are useless; ideas on
paper, but not understood, are tragic.

Buy the "Elements of Style" by Strunk and White.  Keep it handy.  Read
it.  (I keep a copy close to the bathroom.)

Write simple sentences.  Use short words.  These things are harder
than they seem.

Improve your vocabulary.  Excise abstruse words.  Churchill wrote
"Short words are best, and the old words, when short, are best of
all."  He was right.

Just as your dinner-table language lets you describe the inside world
that makes you human, mathematics lets you describe the outside world
in which you live.

Mathematics lets us reason with precision.  Here I use the word
"mathematics" to include almost any formal system for quantitative

I recommend that you learn all the traditional mathematics you can.
Take what courses you can.  Mathematics has helped me learn
engineering, economics, and computer science.  (It has also helped me
write good English.)

Still, you can learn your mathematics the other way around.  Studying
economics, physics, engineering, and computer science can teach you
what you need.  (I've found studying algorithms a particularly good
way to do this.)  One of my friends --- and also David Mertz of Python
fame --- appear to have done it by studying philosophy.

Over all, the purpose of education is not to get a job, but to
understand the world and your place in it.  A few of the best educated
people I have known were barely High School graduates; a few of the
worst have PhDs.

And when you're done, stop.
</soapbox mode>

Peter Olsen, AeE., P.E.
pcolsen at

"Engineering is the art of using a professional knowledge of
mathematics and the physical sciences to improve the quality of life."

More information about the Python-list mailing list