[Linux-aus] Re: High school computing texts
millerp at canb.auug.org.au
Wed Mar 21 16:08:21 UTC 2007
On Wed, 2007-03-21 at 10:29 +1030, Glen Turner wrote:
> Joel wrote:
> > Since when is binary arithmetic irrelevant? *smirk*
> It's entirely irrelevant for a course named "software design
> and development".
2s complement arithmetic, yes.
Limits of numerical representation, no.
First example: student has written toy accounting package that only
tracks whole dollar amounts, in integers. Student asks "how come when I
put $5 billion in my account, it says I've got $705 032 704 instead?"
Leads to useful discussion about limits of representation (2**31 < 5e9),
and sanity checking input.
Second example: student has written massively inefficient ray tracer
(all the necessary how-to is out there, these days). Student asks "how
come my torus shadows itself on the *front* face?" Leads to useful
discussion about numerical stability of analytic solutions (analytic
quartic solution not stable, mantissa is about 75% error bits). But
numeric stability can be retro fitted with high-school maths:
Newton-Raphson can be used to double the significant digits in the
mantissa with each iteration. And a pointer to Sturm sequences (not
analytic, does orders > 4, numerically stable, libre code) is warranted,
though any discussion of just *how* they work is definitely university
material, not high school.
You may have guessed, I think *some* discussion about digital arithemtic
is essential, even in high school.
Peter Miller <millerp at canb.auug.org.au>
PGP public key ID: 1024D/D0EDB64D
fingerprint = AD0A C5DF C426 4F03 5D53 2BDB 18D8 A4E2 D0ED B64D
See http://www.keyserver.net or any PGP keyserver for public key.
"If you can't be a good example, then you'll just have to be a horrible
warning." -- Catherine Aird
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.linux.org.au/pipermail/linux-aus/attachments/20070321/30064cc9/attachment-0001.pgp
More information about the linux-aus