9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Dan Cross <cross@math.psu.edu>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] code complexity
Date: Tue,  5 Feb 2002 17:28:56 -0500	[thread overview]
Message-ID: <200202052229.RAA24009@math.psu.edu> (raw)
In-Reply-To: Your message of "Tue, 05 Feb 2002 11:34:51 EST." <37088672ac32055400db1684d3dfae65@plan9.bell-labs.com>

> [...]  I helped to teach an
> introductory computer science theory course for three years,
> and we had the same problems there.  Students didn't
> see any point to distilling a correct yet awkward proof
> down to its essence; after all, it was correct, wasn't it?
> (I don't know if this was natural or they got it from
> taking intro to programming the year before.)
> Even so, we didn't give much opportunity to help
> them rewrite their proofs.  We did hand out the best
> most elegant proofs we had on the solution sets,
> and I think that helped somewhat, but I'm still not
> sure how many internalized the message.

Hmm, interesting.  Programming is more or less isomorphic to
mathematics in this respect, as you point out; it's all about
generalization and abstraction, but too often individuals fail to
perceive the value of either.  I think that the problems students
encounter in both come from the same place; essentially a fear of math
and math-related subjects.  People don't want to understand *how*
something works, they just want to see *what* to do with it.

A large part of that comes from the public school system (at least,
this is true in the USA).  People get so convinced so early on that
math is something that they can't get their heads around because
they're `taught' by people who are inept and don't have their heads
around math to start with and teach it the wrong way.  The
self-defeating idea that ``I can't do it'' follows a person, and
perpetuates itself through higher education.  The result is that
students don't understand what's behind the symbols in math, and just
memorize equations and theorems to pass the tests.  They might have
some understanding of how the numbers and symbols fit together, but
they're still eluded by the higher mathematical ``truth,'' and even
worse, they don't think of themselves as capable of understanding it.

When they get out of school they collectively breath a sigh of relief
and say, ``Ahh, I never have to care about that ever again.'' When
something math related comes up later on, they mostly go into dummy
mode and just slog through it, all the while beset my flashbacks to
less happy days in which they were forced to slog through similar,
seemingly incomprehensible equations and so on to get a decent grade.

This is especially true amongst scientists and engineers.  For
instance, does anyone really know *why* the result of the cross-product
is called a pseudovector?  Hmm, perhaps present company should be
excluded from my sweeping generalizations, but you get the picture.

Anyway, back to programming; it's just too close to math for a lot of
people.  Probably because, in a sense, it is math.  But again, it's
something they feel very despondent about, and don't want to get into
other than at a superficial level.

Anyway, this post is much too long and rambling.  The point is that the
average programmer doesn't see elegance or generality as something to
strive for, because he or she hasn't seen that as something useful
since the age of 5.

	- Dan C.



  parent reply	other threads:[~2002-02-05 22:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-05 16:34 Russ Cox
2002-02-05 16:39 ` Boyd Roberts
2002-02-05 16:42   ` Ronald G Minnich
2002-02-05 17:20     ` david presotto
2002-02-05 23:06       ` Steve Kilbane
2002-02-05 20:24 ` philw
2002-02-06  1:01   ` ozan s yigit
2002-02-05 22:28 ` Dan Cross [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-02-06  0:10 [9fans] XP (was: code complexity) geoff
2002-02-06  0:29 ` [9fans] code complexity George Michaelson
2002-02-06 10:47   ` Boyd Roberts
2002-02-06 20:49     ` Andrew Simmons
2002-02-05 16:41 Russ Cox
2002-02-05 14:24 Richard Uhtenwoldt
2002-02-05 14:47 ` Matt H

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200202052229.RAA24009@math.psu.edu \
    --to=cross@math.psu.edu \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).