Einstein probably did not say, "Everything should be made as simple as

possible, but _no simpler_." However, somebody did, and somebody was

right. One of the biggest problems in teaching programming is the

constant pretense that we are not doing complicated mathematics, and

the resulting attempt to hide the math.

There is a lovely little book called Mathematics Made Difficult, whose

premise is that refusing to tackle topics of modest complexity makes

understanding far more difficult. With examples, of course.

I have a similar complaint about freshman college physics courses that

attempt to get by with no calculus.

One of my favorite matth examples is how the use of elementary

differential equations and Taylor series simplifies the definition of

trigonometry. Define the exponential function by the equation

y' = y

which says that the growth rate of the function is proportional to its

current value. Bring in examples from compound interest, biological

growth, inflationary cosmology,... The function we are looking for is

exp(x) = sum_0^\infty (x^n)/n!

or any multiple of it. If you know that d(x^n)/dx is nx^(n-1), then

you can see that the derivative of the power series for exp is itself.

Now solve

y' = -y (negative of exp)

y'' = y (hyperbolic sinh and cosh functions)

y'' = -y (sin and cos functions)

in the same way, and look at the relations among their power series.

Now derive e^(i\pi)+1=0 from e^(i\theta) = cos \theta + i sin \theta,

which follows directly from the power series above, and then switch to

linear algebra to get the sum, difference, and other formulae, and

geometry to get the solutions of triangles.

If anybody has difficulty with any of this I can point you to

textbooks using these methods.

If you would like a bit more of a challenge, we can do this all over

again in elliptic and hyperbolic geometry, where we don't have similar

triangles. ^_^

On Wed, Mar 30, 2011 at 13:50, Kirby Urner <

[hidden email]> wrote:

>

> What is a Python module? #==========================

> Common answer is "a file containing Python source code?",

> but I'm questioning whether that's sufficient definition.

> How about an importable .pyc or .pyd, with no .py in the

> picture. That's a module too, no?

> ** Import Star #====================================

> When is

> import *

> a good idea?

> There's all this righteous moralistic hoopla that gets built up

> against specific idioms, to where eval( ) appears to be fighting

> for its very existence... Mary wants to keep her little lambda.

> So I'd rather phrase these in the positive, as in when IS it

> a good idea... e.g. to use semi-colons between statements.

> ** Another student question: #=========================

> Why does all([]) return True by default? Is this a case

> of half full versus half empty?

> ** Correcting a misconception #========================

> No, docstrings do NOT have to be triple quoted.

> Kirby

>

> _______________________________________________

> Edu-sig mailing list

>

[hidden email]
>

http://mail.python.org/mailman/listinfo/edu-sig>

>

--

Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin

Silent Thunder is my name, and Children are my nation.

The Cosmos is my dwelling place, the Truth my destination.

http://www.earthtreasury.org/_______________________________________________

Edu-sig mailing list

[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig